Data updating method and related information processing device

ABSTRACT

In a case where application data stored in a PC database  300   a  are edited by a PC  300,  and the edited contents are to be reflected to contents of the memory of a terminal database  200   a,  PC  300  refers to a synchronization profile SP including item IDs and ID numbers of a most recent synchronization communication and communication time information of the synchronization communication, thereby detecting which items have been edited at a time subsequent to completion of a most recent synchronization communication.

TECHNICAL FIELD

[0001] This invention relates to a data updating method for use insynchronizing application data stored in databases of a plurality ofinformation processing devices, the data being generated by a schedulemanagement, or an address management, or a similar application, and toan information processing device for implementing the method.

BACKGROUND ART

[0002] Various types of schedule managers, address managers, and similarapplications are now used in personal computers (PCs). Using a schedulemanagement application, data can be added, changed, or deleted, to besaved in a database in a storage device, such as a hard disk drive of aPC, for display by a user in managing schedules.

[0003] Schedule data or address data stored in a database of a PC can beduplicated for use in a handheld information device such as a PersonalDigital Assistant (PDA), so that identical information to that in the PCcan also be used in the handheld information device.

[0004] In the case that data is duplicated between such devices,however, if data in one device is modified, corresponding data in acorresponding device must be updated. This process is referred to as asynchronization process where data stored in databases of subjectinformation devices are updated via data communication.

[0005] In carrying out data synchronization, in each of the devices, anexisting schedule data state in a database is compared with pastschedule data state as of completion of a last previous synchronizationoperation. If a change in data in one device is detected, acorresponding data change is made in a corresponding device. In thisway, respective databases of the information devices can be updated asrequired.

[0006] However, the conventional art used for effecting a data updateoperation between corresponding devices suffers from the drawbacks asfollow:

[0007] If synchronization of a large amount of data is to be performedbetween corresponding devices, a complicated data processing operationmust be used.

[0008] Further, if data synchronization is to be carried out betweendevices employed in an organization such as a company, data are storedin a database server or similar device of a Local Area Network (LAN). Ina LAN, a plurality of networked PCs share data stored, typically, in aserver database. In the case that a user of, for example, a PDA, wishesto synchronize, for example, schedule data between the PDA and one of aplurality of PCs connected to a LAN, a limitation exists that theoperation can be performed between the PDA and only a specified PCconnected to the LAN. To date, no technology has existed which willallow a user of, for example, a PDA to perform data synchronization withany of a plurality of PCs connected to a LAN.

[0009] The present invention has been made with a view to overcomingthis problem of the prior art, and has as its object the provision of adata updating method by which it is possible to avoid, in the case thata large amount of data for synchronization exists, the need to conductcomplicated data processing in carrying out an update operation. Inaddition, the method of the present invention makes it possible toperform a data updating operation between an external informationprocessing device and any of a plurality of network-connectedinformation processing devices. The present invention also provides aninformation processing device for implementing the method.

DISCLOSURE OF THE INVENTION

[0010] In order to solve the above problem, the present inventionprovides a data updating method comprising: use of a first informationprocessing device containing a first database; a second informationprocessing device containing a second database; each of said first andsecond database storing application data consisting of one or aplurality of data units generated by a given application; a memorycontained in either one of said first or second information processingdevice storing an update file including communication time informationindicating a date and time of a synchronization communication initiatedby said first information processing device, by which said secondinformation processing device is notified of data updated in said firstdatabase to be updated in said second database for synchronization withsaid updated data in said first database, said update file alsoincluding identification numbers assigned to each of data units whichcomprise application data in said first database; said first informationprocessing device, if required, adding a new data unit, changing ordeleting a data unit of said application data, and when a new data unitis added to the application data in said first database or when thecontents of one of said one or a plurality of data units are changed,storing edit time data indicating a date and time of an addition orchange of a data unit, the edit time corresponding to an identificationnumber of an added or changed data unit; said first informationprocessing device, upon initiation of a synchronization communicationwith said second information processing device for notifying dataupdated in said first database to be updated in said second database forsynchronization with said updated data in said first database, comparingsaid identification numbers of said data units and said communicationtime of the synchronization communication, said identification numbersand communication time being stored in said update file, with theidentification numbers of data units and edit time data of each of saiddata units stored in said first database, to thereby detect among saidplurality of data units which comprise said application data stored insaid first database, any data units that have been added, changed, ordeleted at a time subsequent to completion of a most recentsynchronization communication; said first information processing device,in a case where a newly added or changed data unit is detected,transmitting to said second information processing device the data unitwith its identification number, and an instruction to add or change thedata unit and storing the identification number in said update file;said first information processing device, in a case where deletion of adata unit is detected, transmitting to said second informationprocessing device the identification number of the deleted data unitwith an instruction to delete a data unit corresponding to theidentification number and deleting the identification number from saidupdate file; and said second information processing device updating theapplication data in said second database on the basis of informationtransmitted from said first information processing device. This methodwill be hereinafter referred to as a first data updating method.

[0011] The present invention further provides a data updating method(hereinafter referred to as a second data updating method) comprising:use of a first information processing device containing a firstdatabase; a second information processing device containing a seconddatabase; each of said first and second database storing applicationdata consisting of one or a plurality of data units generated by a givenapplication; a memory contained in one of either said first or secondinformation processing device storing an update file includingcommunication time information indicating a date and time of asynchronization communication initiated by one of either said first orsaid second information processing device, by which the other of saidfirst or said second information processing device is notified of dataupdated in a database of said one device to be updated in a database ofsaid other device for synchronization with said updated data in saiddatabase of said one device, said update file also includingidentification numbers assigned to each of data units which comprisesynchronized application data in a database of said one or said otherdevice; said first information processing device, if required, adding anew data unit, changing or deleting a data unit of said applicationdata, and when a new data unit is added to the application data in saidfirst database or when the contents of one of said one or a plurality ofdata units are changed, storing edit time data indicating a date andtime of an addition or change of a data unit, the edit timecorresponding to an identification number of an added or changed dataunit; said second information processing device, when application datastored in said second database is edited to add a new data unit, changeor delete one of said one or plurality of data units, recording editinformation as to which editing operation has been performed, which editinformation corresponds to an identification number of edited data unitin said second database; said first information processing device, whena synchronization communication is performed by one of either said firstor said second information processing device notifying data updated in adatabase of said one device to be updated in a database of the other ofsaid first or said second information processing device forsynchronization with said updated data in said database of said onedevice, comparing said identification numbers of said data units andsaid communication time of the synchronization communication, saididentification numbers and communication time being stored in saidupdate file, with the identification numbers of data units and edit timedata of each of said data units stored in said first database, tothereby detect among said plurality of data units which comprise saidapplication data stored in said first database, any data units that havebeen added, changed, or deleted at a time subsequent to completion of amost recent synchronization communication; said first informationprocessing device, in a case where a newly added or changed data unit isdetected, transmitting to said second information processing device thedata unit with its identification number, and an instruction to add orchange the data unit; said first information processing device, in acase where deletion of a data unit is detected, transmitting to saidsecond information processing device the identification number of thedeleted data unit with an instruction to delete a data unitcorresponding to the identification number; said second informationprocessing device updating application data in said second database onthe basis of the data transmitted from said first information processingdevice; said second information processing device, in a case where saidedit information indicates that a new data unit has been added,transmitting to said first information processing device the additionaldata unit and the identification number of the additional data unit,with data instructing an addition of the data unit; and said secondinformation processing device, in a case where said edit informationindicates that one of said one or plurality of data units has beenchanged, transmitting the changed data unit and the identificationnumber of the changed data unit, with data instructing a change of thechanged data unit, to said first information processing device; saidsecond information processing device, in a case where said editinformation indicates that one of said one or plurality of data unitshas been deleted, transmitting the identification number of the deleteddata unit, with data instructing a deletion of a data unit correspondingto the identification number, to said first information processingdevice; said first information processing device updating applicationdata in said first database on the basis of the data transmitted fromsaid second information processing device; and said first informationprocessing device, after the updating of the application data in saidfirst database is completed, updating said identification numbers andsaid communication time information stored in said update file on thebasis of application data stored in its own database and a date and timeof this synchronization communication.

[0012] In the above first or second data updating method, said secondinformation processing device may be a handheld information processingdevice.

[0013] In a preferred embodiment of the above second data updatingmethod, said first information processing device, when a data unitcreated at said second database at a time subsequent to completion of amost recent synchronization communication is transmitted to said firstinformation processing device to be written into said first database,may assign a new identification number to the data unit to be written inand transmit said assigned new identification number to the secondinformation processing device; and said second information processingdevice may store said assigned new identification number in said seconddatabase, relating said new identification number to the data unitcreated at the time subsequent to completion of the most recentsynchronization communication.

[0014] The present invention further provides a third data updatingmethod comprising: use of a first information processing devicecontaining a first database; a second information processing devicecontaining a second database; each of said first and second databasestoring application data consisting of one or plurality of data unitsgenerated by a given application; said first information processingunit, when application data stored in said first database is edited toadd a new data unit, change or delete one of said one or plurality ofdata units, recording edit information as to which editing operation hasbeen performed, which edit information corresponds to an identificationnumber of edited data unit in said first database; said firstinformation processing device, upon initiation of a synchronizationcommunication with said second information processing device fornotifying data updated in said first database to be updated in saidsecond database for synchronization with said updated data in said firstdatabase, in a case where said edit information indicates that a newdata unit has been added, transmitting to said second informationprocessing device the additional data unit and the identification numberof the additional data unit, with data instructing an addition of thedata unit; and said first information processing device, in a case wheresaid edit information indicates that one of said one or plurality ofdata units has been changed, transmitting the changed data unit and theidentification number of the changed data unit, with data instructing achange of the changed data unit, to said second information processingdevice; said first information processing device, in a case where saidedit information indicates that one of said one or plurality of dataunits has been deleted, transmitting the identification number of thedeleted data unit, with data instructing a deletion of a data unitcorresponding to the identification number to said second informationprocessing device, and said second information processing deviceupdating application data in said second database on the basis of thedata transmitted from said first information processing device.

[0015] In the third data updating method, said first informationprocessing device may be a handheld information processing device.

[0016] In a preferred embodiment of the above first, second, or thirddata updating method, in the case that application data relates to adate and time, said first or second information processing device maydetect not only data units that have been added or changed at a timesubsequent to completion of a most recent synchronization communicationbut also data units that have been deleted at a time subsequent tocompletion of the most recent synchronization communication, from amongdata units existing in said first database at the beginning of thissynchronization communication and having dates falling within aprescribed time period.

[0017] In another preferred embodiment of the above first, second, orthird data updating method, data units may include one or moresubordinate secondary data units, and in the case that a data unitstored in each of said first and second databases includes secondarydata units which differ in number between the said data units stored ineach of said first and second databases, and when in one of saiddatabases a one of said data units which includes a larger number ofsecondary data units is updated on the basis of the other of the saiddata units including a smaller number of secondary data units, and whichsaid other of the data units is stored in the other of said databases,said first or said second information processing device may prevent anysecondary data unit of the data unit including a larger number ofsecondary data units, said any secondary data unit not being included insaid other data unit including a smaller number of secondary data units,from being deleted.

[0018] In another preferred embodiment of the above first, second, orthird data updating method, data units may include one or moresubordinate secondary data units, and in the case that a maximum datasize of a subordinate secondary data unit differs between said dataunits stored in each of said first or said second database, and whendata size of a said secondary data unit stored in a data unit of a oneof said databases with a larger maximum data size is larger than themaximum data size of a said secondary data unit allowed in a data unitof the other of said databases with a smaller maximum data size, saidfirst or second information processing device may prevent said secondarydata unit of a larger data size stored in said one database of a largermaximum data size from being deleted in updating said one database onthe basis of the memory of said other database.

[0019] Preferably, in the above first, second, or third data updatingmethod, in the case that a synchronization communication is initiated,user information stored in each of said first and second informationprocessing device may be compared; and when said user information isdetermined to be the same, updating the memory of second database may beperformed.

[0020] The present invention further provides a fourth data updatingmethod comprising: use of an information processing device being one ofa network-connected plurality of information processing devices sharinga database storing application data containing one or plurality of dataunits; a handheld information processing device containing a databasefor storing application data containing one or plurality of data units;said handheld information processing device storing an update fileincluding communication time information indicating a date and time of asynchronization communication initiated by one of either saidinformation processing device or said handheld information processingdevice, by which the other of said information processing device or saidhandheld information processing device is notified of data updated in adatabase of said one device to be updated in a database of said otherdevice for synchronization with said updated data in said database ofsaid one device, said update file also including identification numbersassigned to data units which comprise synchronized application data in adatabase of said one or said other device; said information processingdevice, if required, adding a new data unit, changing or deleting a dataunit of said application data; and when a new data unit is added to theapplication data in its own database or when the contents of one of saidone or a plurality of data units are changed, storing edit time dataindicating a date and time of an addition or change of a data unit, theedit time corresponding to an identification number of an added orchanged data unit; said handheld information processing device, whenapplication data stored in its own database is edited to add a new dataunit, change or delete one of said one or plurality of data units,recording edit information as to which editing operation has beenperformed, which edit information corresponds to an identificationnumber of edited data unit in the database; said information processingdevice, when a synchronization communication is performed by one ofeither said information processing device or said handheld informationprocessing device notifying data updated in said database of said onedevice to be updated in said database of said other device forsynchronization with said updated data in the database of said onedevice, comparing said identification numbers of said data units andsaid communication time of the synchronization communication, saididentification numbers and communication time being stored in saidupdate file, with the identification numbers of data units and edit timedata of each of said data units stored in the database of saidinformation processing device, to thereby detect among said plurality ofdata units which comprise said application data stored in said databaseof said information processing device, any data units that have beenadded, changed, or deleted at a time subsequent to completion of a mostrecent synchronization communication; said information processingdevice, in a case where a newly added or changed data unit is detected,transmitting to said handheld information processing device the dataunit with its identification number, and either add edit or change editinformation to prompt addition or change of the data unit; saidinformation processing device, in a case where deletion of a data unitis detected, transmitting to said handheld information processing devicethe identification number of the deleted data unit with an instructionto delete a data unit corresponding to the identification number; saidhandheld information processing device updating application data in itsown database on the basis of data transmitted from said informationprocessing device; said handheld information processing device, in acase where said edit information indicates that a new data unit has beenadded, transmitting to said information processing device the additionaldata unit and the identification number of the additional data unit,with edit add information for the data unit; and said handheldinformation processing device, in a case where said edit informationindicates that one of said one or plurality of data units has beenchanged, transmitting the changed data unit and the identificationnumber of the changed data unit, with edit change information for thechanged data unit, to said information processing device; said handheldinformation processing device, in a case where said edit informationindicates that one of said one or plurality of data units has beendeleted, transmitting the identification number of the deleted dataunit, with edit delete information for the data unit to said informationprocessing device; said information processing device updatingapplication data in its own database on the basis of data transmittedfrom said handheld information processing device; and said handheldinformation processing device updating said identification numbers andsaid communication time information stored in said update file on thebasis of application data stored in its own database and a date and timeof this synchronization communication.

[0021] In a preferred embodiment of the above fourth data updatingmethod, said information processing device may transmit its storedupdated said update file to said handheld information processing device;and said handheld information processing device may store in its memorythe transmitted updated said update file in a memory contained initself.

[0022] In another preferred embodiment of the above fourth data updatingmethod, upon initiation of a synchronization communication between saidinformation processing device and said handheld information processingdevice, user information prestored in said update file contained in eachof the devices may be compared; and in the case where the userinformation stored in one device is determined to be the same as theuser information stored in the other device, updating each of thedatabases may be performed so as to synchronize the memory of thedatabase of said one device and the memory of the database of said otherdevice.

[0023] Preferably, the above first, second, or fourth data updatingmethod is characterized in that detection of data units furthercomprises: when a data unit which is stored in first database or thedatabase of said information processing device has no correspondingidentification number stored in said update file, determining that thedata unit was created at a time subsequent to completion of a mostrecent synchronization communication; and when a data unit exists, insaid first database or the database of said information processingdevice, which has an identification number stored in said update file,but the edit time data of which indicates a time later than that ofcommunication time data contained in said update file, determining thatthe data unit was changed at a time subsequent to completion of a mostrecent synchronization communication; and further when a data unitexists which is not stored in said first database or in the database ofsaid information processing device, but which has an identificationnumber stored in said update file, determining that the subject dataunit was deleted at a time subsequent to completion of a most recentsynchronization communication.

[0024] Preferably, the above first, second, third, or fourth dataupdating method is characterized in that the step of updatingapplication data, performed by one of either said first or said secondinformation processing device, or either said information processingdevice or said handheld information processing device, in its owndatabase on the basis of information transmitted from a device at theother end further comprises: in the case that edit add information istransmitted, adding said transmitted data unit and its identificationnumber in its said own database; in the case that edit changeinformation is transmitted, overwriting the transmitted data unit onto adata unit, in its said own database, identified by the transmittedidentification number of the data unit; and in the case that edit deleteinformation is transmitted, deleting a data unit that is stored in itssaid own database and is identified by the transmitted identificationnumber.

[0025] Preferably, the above first, second, third, or fourth dataupdating method may further comprise, in the case that said firstinformation processing device or said information processing devicestores in its own database application data edited by a plurality ofapplications, a step of converting data in a plurality of differentformats edited by said plurality of applications into one data format.

[0026] The present invention further provides an information processingdevice comprising means for implementing one of the above data updatingmethods in various embodiments.

[0027] The present invention provides, for example, an informationprocessing device comprising: a first database storing application dataconsisting of one or a plurality of data units generated by a givenapplication; a memory storing an update file including communicationtime information indicating a date and time of a synchronizationcommunication initiated by the information processing device, by which asecond information processing device is notified of data updated in saidfirst database to be updated in a second database of said secondinformation processing device for synchronization with said updated datain said first database, said update file also including identificationnumbers assigned to each of data units which comprise application datain said first database; means for, if required, adding a new data unit,changing or deleting a data unit of said application data; and storingmeans, at the time of adding a new data unit to the application data insaid first database or changing contents of a data unit in said firstdatabase, for storing edit time data indicating a date and time of anaddition or change of a data unit, the edit time corresponding to anidentification number of an added or changed data unit, the devicefurther comprising: as means for performing a synchronizationcommunication with said second information processing device fornotifying data updated in said first database to be updated in saidsecond database for synchronization with said updated data in said firstdatabase, detecting means for comparing said identification numbers ofsaid data units and said communication time of the synchronizationcommunication, said identification numbers and communication time beingstored in said update file, with the identification numbers of dataunits and edit time data of each of said data units stored in said firstdatabase, to thereby detect among said plurality of data units whichcomprise said application data stored in said first database, any dataunits that have been added, changed, or deleted at a time subsequent tocompletion of a most recent synchronization communication; transmittingand storing means, in a case where a newly added or changed data unit isdetected, for transmitting to said second information processing devicethe data unit with its identification number, and either edit add oredit change information for the data unit, and storing theidentification number in said update file; and transmitting and deletingmeans, in a case where deletion of a data unit is detected, fortransmitting to said second information processing device theidentification number of the deleted data unit with edit deleteinformation for a data unit corresponding to the identification number,and deleting the identification number from said update file.

[0028] Preferably, the above information processing device may furthercomprise means, in the case where said update file is stored in saidsecond information processing device, for implementing a synchronizationcommunication by referring to said update file stored in said secondinformation processing device.

[0029] Preferably, in the case that the above information processingdevice is capable of storing application data edited by said givenapplication of a plurality of kinds in said first database, the devicemay further comprise interface means which converts a plurality of datasets in different data formats for each of said plurality of kinds ofapplications, each set of data being edited by a correspondingapplication, into one data format that can be treated in saidsynchronization communication.

[0030] The present invention further provides, for example, aninformation processing device, comprising: a first database storingapplication data consisting of one or a plurality of data unitsgenerated by a given application; and recording means, when applicationdata stored in said first database is edited to add a new data unit,change or delete one of said one or plurality of data units, forrecording edit information as to which editing operation has beenperformed, which edit information corresponds to an identificationnumber of edited data unit in said first database, the device furthercomprising: as means for performing a synchronization communication witha second information processing device for notifying data updated insaid first database to be updated in a second database of said secondinformation processing device for synchronization with said updated datain said first database, transmitting means, in a case where said editinformation indicates that a new data unit has been added, fortransmitting to said second information processing device the additionaldata unit and the identification number of the additional data unit,with edit add information for the data unit; transmitting means, in acase where said edit information indicates that one of said one orplurality of data units has been changed, for transmitting the changeddata unit and the identification number of the changed data unit, withedit change information for the changed data unit, to said secondinformation processing device; and transmitting means, in a case wheresaid edit information indicates that one of said one or plurality ofdata units has been deleted, for transmitting the identification numberof the deleted data unit, with edit delete information for the data unitto said second information processing device.

[0031] Furthermore, the present invention may be implemented not only inan embodiment such as of producing and selling a device which performsdata updating but also in an embodiment of distributing to users througha telecommunication line a program for making a network-connectedcomputer function as a data updating device; and in an embodiment ofdistributing such a program recorded in a computer-readable recordingmedium.

[0032] For example, the present invention provides a computer programproduct for causing a first information processing device to execute: aprocess of storing application data consisting of one or a plurality ofdata units generated by a given application in a first database of thefirst information processing device; a process of storing in a memory anupdate file including communication time information indicating a dateand time of a synchronization communication initiated by said firstinformation processing device, by which a second information processingdevice is notified of data updated in said first database to be updatedin a second database of said second information processing device forsynchronization with said updated data in said first database, saidupdate file also including identification numbers assigned to each ofdata units which comprise application data in said first database; aprocess of, if required, adding a new data unit, changing or deleting adata unit of said application data; and a process of storing, at thetime of adding a new data unit to the application data in said firstdatabase or changing contents of a data unit in said first database,edit time data indicating a date and time of an addition or change of adata unit, the edit time corresponding to an identification number of anadded or changed data unit, the computer program product for causing thefirst information processing device to further execute: as process of asynchronization communication with said second information processingdevice for notifying data updated in said first database to be updatedin said second database for synchronization with said updated data insaid first database, a process of comparing said identification numbersof said data units and said communication time of the synchronizationcommunication, said identification numbers and communication time beingstored in said update file, with the identification numbers of dataunits and edit time data of each of said data units stored in said firstdatabase, to thereby detect among said plurality of data units whichcomprise said application data stored in said first database, any dataunits that have been added, changed, or deleted at a time subsequent tocompletion of a most recent synchronization communication; a process, ina case where a newly added or changed data unit is detected, oftransmitting to said second information processing device the data unitwith its identification number, and edit add or edit change informationfor the data unit, and storing the identification number in said updatefile; and a process, in a case where deletion of a data unit isdetected, of transmitting to said second information processing devicethe identification number of the deleted data unit with edit deleteinformation for a data unit corresponding to the identification number,and deleting the identification number from said update file.

[0033] The present invention further provides, for example, a computerreadable program recording medium which stores a program for causing afirst information processing device to execute: a process of storingapplication data consisting of one or a plurality of data unitsgenerated by a given application in a first database of a firstinformation processing device; a process of storing in a memory anupdate file including communication time information indicating a dateand time of a synchronization communication initiated by said firstinformation processing device, by which a second information processingdevice is notified of data updated in said first database to be updatedin a second database of said second information processing device forsynchronization with said updated data in said first database, saidupdate file also including identification numbers assigned to each ofdata units which comprise application data in said first database; aprocess of, if required, adding a new data unit, changing or deleting adata unit of said application data; and a process of storing, at thetime of adding a new data unit to the application data in said firstdatabase or changing contents of a data unit in said first database,edit time data indicating a date and time of an addition or change of adata unit, the edit time corresponding to an identification number of anadded or changed data unit, wherein the program for causing the firstinformation processing device further executes: as process of asynchronization communication with said second information processingdevice for notifying data updated in said first database to be updatedin said second database for synchronization with said updated data insaid first database, a process of comparing said identification numbersof said data units and said communication time of the synchronizationcommunication, said identification numbers and communication time beingstored in said update file, with the identification numbers of dataunits and edit time data of each of said data units stored in said firstdatabase, to thereby detect among said plurality of data units whichcomprise said application data stored in said first database, any dataunits that have been added, changed, or deleted at a time subsequent tocompletion of a most recent synchronization communication; a process, ina case where a newly added or changed data unit is detected, oftransmitting to said second information processing device the data unitwith its identification number, and edit add or edit change informationfor the data unit, and storing the identification number in said updatefile; and a process, in a case where deletion of a data unit isdetected, of transmitting to said second information processing devicethe identification number of the deleted data unit with edit deleteinformation for a data unit corresponding to the identification number,and deleting the identification number from said update file.

[0034] Methods and devices provided in the present invention make itpossible to avoid, in the case that a large amount of data exists in adatabase, the need to conduct complicated data processing in carryingout an update operation. In addition, in the present invention it ispossible to perform a data updating operation between an externalinformation processing device and any of a plurality ofnetwork-connected information processing devices.

BRIEF DESCRIPTION OF THE DRAWINGS

[0035]FIG. 1 is a diagram showing a schematic configuration of a systemto which a data updating method of the first embodiment of the inventionis applied.

[0036]FIG. 2 is a diagram illustrating the principles underlying thisdata updating method.

[0037]FIG. 3 is a diagram illustrating the principles underlying thisdata updating method.

[0038]FIG. 4 is a diagram illustrating the principles underlying thisdata updating method.

[0039]FIG. 5 is a diagram illustrating the principles underlying thisdata updating method.

[0040]FIG. 6 is a diagram illustrating the principles underlying thisdata updating method.

[0041]FIG. 7 is a diagram illustrating the principles underlying thisdata updating method.

[0042]FIG. 8 is a flow chart illustrating a process for implementing thedata updating method; and specifically a determining process implementedby a personal computer (PC), which is a component of the system.

[0043]FIG. 9 is a flow chart illustrating a process for implementing thedata updating method; and specifically a presence/absence-of-datadetermining process implemented by the PC.

[0044]FIG. 10 is a flow chart illustrating a processing operationsequence, used for implementing the data updating method between the PCand a handheld information terminal, which is also a component of thesystem.

[0045]FIG. 11 is a flow chart illustrating a process for implementingthe data updating method; and specifically a data update process whereindata is received by the PC from the handheld information terminal, withthe process being implemented by the PC.

[0046]FIG. 12 is a diagram illustrating a problem which arises in a casewhere the number of the fields of an item differs between the PC and thehandheld information terminal, wherein the item is a data unit processedby each of the PC and the handheld communication terminal.

[0047]FIG. 13 is a diagram illustrating a processing method used in thedata updating method of the present invention in a case that the problemdescribed above exists with respect to an item which is the subject ofan update operation.

[0048]FIG. 14 is a diagram illustrating a problem which arises in a casewhere, between the PC and the handheld information terminal, a maximumdata size of a field of an item differs.

[0049]FIG. 15 is a diagram illustrating items to be detected in aprocess of detecting items edited in the PC, which is a process forimplementing the data updating method.

[0050]FIG. 16 is a flow chart illustrating a process for implementingthe data updating method; and, specifically, a process of transmittingedited data, the process being implemented by the PC.

[0051]FIG. 17 is a diagram showing a schematic configuration of a systemto which the data updating method is applied, with respect to a secondembodiment of the present invention.

[0052]FIG. 18 is a diagram illustrating the principles underlying thedata updating method of the second embodiment.

[0053]FIG. 19 is a diagram illustrating the principles underlying thedata updating method of the second embodiment.

[0054]FIG. 20 is a flow chart showing a processing operation sequenceenacted in a client PC and a handheld information terminal inimplementing the data updating method of the second embodiment; theclient PC and the handheld information terminal being components of thesystem.

[0055]FIG. 21 is a diagram illustrating the principles underlying thedata updating method of the second embodiment.

[0056]FIG. 22 is a diagram showing an example of a functionalconfiguration for implementing he data updating method with respect tothe embodiments.

BEST MODE OF CARRYING OUT THE INVENTION

[0057] Embodiments of the present invention will now be described indetail with reference to the accompanying drawings.

[0058] A. First Embodiment

[0059] A-1. System Configuration

[0060] In FIG. 1, an example is shown of a schematic configuration of asystem to which the data updating method of the first embodiment of thepresent invention is applied.

[0061] An example is shown where application data is created by apredetermined application (hereinafter assumed to be a schedulemanagement application) in a personal computer (PC) 300 and stored in adatabase of PC 300; the same data also being stored in a database of thehandheld information terminal 200.

[0062] In the data updating method of the first embodiment, eitherhandheld information terminal 200 or PC 300 initiates data communicationwith the corresponding device to identify the record of application datastored in the database of the corresponding device with those in its owndatabase, and vice versa, thereby bringing the application data in thedatabases of the two devices up-to-date.

[0063] Handheld information terminal 200 has a Central Processing Unit(CPU), a Read Only Memory (ROM), and a Random Access Memory (RAM), andis capable of performing various functions by implementing schedulemanagement, address management, or similar applications stored in theROM.

[0064] In a flash memory or other similar memory of handheld informationterminal 200, a database is provided for storing application data whichdata replicates that stored in the database of PC 300.

[0065] Using, for example, a schedule application provided in the ROM ofhandheld information terminal 200, a user is able to edit applicationdata stored in a flash or like memory database of the terminal. In doingthis, the CPU of the terminal 200 executes the schedule applicationfollowing instructions from the user.

[0066] Handheld information terminal 200 is provided with a band 202 anda body 201, typical of ordinary wristwatches, with all of the electronicdevices mentioned above being housed in body 201. A liquid crystaldisplay device 204 is provided in the central part of body 201, thedisplay device 204 being capable of displaying time information,information corresponding to schedule management application data,specifically schedule information, and other types of information.

[0067] Handheld information terminal 200 is further provided with abattery for driving the electronic devices of the terminal, includingthe CPU, and can be accommodated for charging in a charging station 100.To charge the battery of terminal 200 in station 100, once the terminalhas been accommodated in the station, a charge button (not shown) issimply depressed.

[0068] Station 100 is also capable of relaying data between handheldcommunication terminal 200 and another information processing device,specifically PC 300. In implementing the data updating method of thepresent embodiment, handheld information terminal 200 accommodated instation 100 relays data to PC 300 via the station, as shown in FIG. 1.

[0069] Data communication between handheld information terminal 200 andPC 300 is not limited to relay via station 100, but can be carried outusing a direct cable connection between the devices, or, for-example, adirect connection with wireless technology.

[0070] PC 300 is a typical personal computer capable of performingvarious functions using different applications stored in a storagedevice such as a hard disk drive.

[0071] The storage device of PC 300 is also used to store a database ofa schedule application or the like which is provided also on handheldinformation terminal 200. This database can be edited by a user of aschedule application or the like, as desired.

[0072] Since PC 300 and handheld information terminal 200 utilize thesame application, and have the same data stored in their respectivedatabases, data can be checked or edited using hand held informationterminal 200, when mobile. Similarly, schedule information can bechecked or edited through PC 300.

[0073] As mentioned, if users of handheld information terminal 200 andPC 300 independently edit application data stored in their own database,the application data stored in the two databases become non-identical toeach other. Thus, it becomes necessary to synchronize the contents ofthe two databases, and the synchronization process is performed throughdata communication between the two devices, in which application datastored in the database of each device is compared with the memory as ofa last previous synchronization process and each database is updatedaccordingly.

[0074] A-2. Database Configuration

[0075]FIG. 3 shows a configuration of a database of the presentembodiment. Descriptions of the databases of each of PC 300 and handheldinformation terminal 200 will now be made with reference to the figure.

[0076] In database 300a of PC 300 (hereinafter referred to as PCdatabase 300 a), for each data information item created using a scheduleapplication, or the like, an item ID is created and stored; further,edit time information for that item is also recorded and stored. ItemIDs are ID information used for identifying an item to be processed inthe schedule management application that is executed by PC 300. The edittime information indicates the latest date and time of editing such asadding and changing of an item.

[0077] A data information item (hereinafter referred to simply as‘item’) consists of a unit of data processed by an address-management,schedule management, or similar application. These applications arereferred to collectively as Personal Information Managers (PIM). In eachitem of a database of a schedule management application or the like,there are contained subordinate sets of data which denote planned eventssuch as “start time,” “end time,” “place,” “description of plan,” andothers. Each set of such data is referred to as a field. In the presentembodiment, application data has a hierarchical structure, with aplurality of fields being provided subordinate to an item.

[0078] As shown in FIG. 3, items in PC database 300 a are stored in acolumn titled “item”. Thus, all subordinate field data of an item isstored in the same location.

[0079] When data communication is initiated between handheld informationterminal 200 and PC 300 for the first time, PC 300 converts item IDs forall items stored in PC database 300 a into identification numbers (IDnumbers). These ID numbers are stored along with corresponding item IDsin an update file which is called a synchronization profile SP and whichis created in the database of PC 300.

[0080] ID numbers comprise a smaller amount of data than item IDs, andby storing these numbers in the database of handheld informationterminal 200 (hereinafter referred to as terminal database 200 a) toidentify item IDs, an amount of data required to be stored in thedatabase can be greatly reduced, and valuable storage space saved.

[0081] In the synchronization profile SP created in PC 300, the actualitem data of each item is not stored and only the item IDs and IDnumbers are stored. Synchronization profile SP contains item IDs and IDnumbers updated during a last previous data update operation performedbetween PC 300 and handheld information terminal 200. Synchronizationprofile SP also shows a correspondence between an item ID and an IDnumber.

[0082] Further, in synchronization profile SP, there is also storedcommunication time information which indicates a date and time when asynchronization operation took place previously between handheldinformation terminal 200 and PC 300, the synchronization profile SP alsostoring user information and PIM information. The user information isused for identifying a user, and the PIM information shows what kind ofPIM (application) is used.

[0083] When a data update operation is performed between handheldinformation terminal 200 and PC 300, the synchronization profile SP isused for detecting items that have been changed by PC 300 since a mostrecent data communication was performed. In other words, contents ofsynchronization profile SP in PC 300 are compared with those of PCdatabase 300 a to detect items which have been changed in database 300a. Specifically, it is possible to determine which items have beenadded, changed or deleted by comparing the IDs and the communicationtime information which have been stored by the most recentcommunication, with the item IDs and the communication time informationwhich are currently stored in PC database 300 a.

[0084] As mentioned, synchronization profile SP is stored in PC 300 as afile for use only in a synchronization operation, and its contents areupdated each time a synchronization operation is performed between PC300 and handheld information terminal 200.

[0085] In handheld terminal database 200 a, in addition to items and IDnumbers, for each item, edit flag information, regular event informationand missing field flag information are stored. The ID number informationis, as described above, ID numbers converted from item IDs of PCdatabase 300 a, the ID numbers corresponding to item IDs. When a firstcommunication is performed between PC 300 and handheld informationterminal 200, those ID numbers are transmitted to handheld informationterminal 200 along with items and other information to be storedtherein.

[0086] As shown in FIG. 6, edit flag information is set to either “ADD,”“CHANGE,” or “DELETE,” to reflect a change which has been made to anitem in handheld database 200 a. When a synchronization operation iscomplete, edit flag information is reset to “NONE”.

[0087] In FIG. 3, edit flag information for all items is set to “NONE”in terminal database 200 a. This indicates that no item has been editedfollowing a previous data updating operation.

[0088] Regular event information refers to an item created automaticallyby the application as a regular event instead of being created directlyby a user. Such an event could be, for example, information on aperiodical meeting held each Monday. In FIG. 3, all regular eventinformation is shown as being set to “FALSE”. This indicates that allthe items are not regular events created by the application but arecreated directly by instructions from the user. In the presentembodiment, if an item has a corresponding regular event information setto “TRUE”, data update will not be performed for that item.

[0089] Missing field flag information is a flag added when a number offields of an item differs between database 200 a and database 300 a. Insome cases, the number of fields of an item which can be included in thedatabases may differ between databases, depending on an applicationbeing used. Specifically, if different applications are used incorresponding devices in performing an update operation, some fields ofan item may be erased. The missing field flag information is set to“TRUE” in the above cases.

[0090] In the case of FIG. 3, missing field flag information for all theitems are set to “FALSE,” in which case the missing flag information areignored when data updating process is performed.

[0091] Regular event information and/or missing field flag informationare transmitted from PC 300 to handheld information terminal 200together with item data; handheld information terminal 200, in the caseof receiving regular event information and/or missing field flaginformation, stores the received information in terminal database 200 a.

[0092] A-3. Data Updating Method

[0093] FIGS. 2 to 7 are diagrams showing a principle of the dataupdating method of the present embodiment, specifically asynchronization operation between handheld information terminal 200 andPC 300. The data updating method with respect to the present embodimentwill be described hereinafter with reference to these figures. The dataupdating method in this embodiment involves a process implementedcooperatively between the two devices responsive to a synchronizationprocessing program stored in each of the devices.

[0094] In the present embodiment, two different cases exist where a dataupdate operation is performed between handheld information terminal 200and PC 300. In a first case, data is transmitted from PC 300 to handheldinformation terminal 200 when database 200 a is in an initial state;namely, data exists at the start of the operation in only PC database300 a. In the other case, data communication is performed when dataexists in both databases 300 a and 200 a, and an update operation isperformed on the basis of the respective contents of each of database300 a and 200 a.

[0095] A-3-1. Data Update Operation Performed when Database 200 a is inan Initial State

[0096] Referring to FIG. 2, description will now be made regarding acase where application data stored in database 300 a is duplicated indatabase 200 a, when database 200 a is in an initial state; such a statemay comprise, for example, a time when data communication betweenhandheld information terminal 200 with PC 300 is first initiated, orwhen data communication is performed immediately after initialization ofhandheld information terminal 200.

[0097] First, a user creates data using a schedule managementapplication in PC 300. Item IDs and edit time information for each itemare stored in PC database 300 a (Refer to FIG. 2).

[0098] At this stage, no application data has been stored in terminaldatabase 200 a because it is in an initial state.

[0099] Where PC database 300 a contains data and terminal database 200 acontains no data, an update operation through data communication betweenhandheld information terminal 200 and PC 300 is performed as follows:

[0100] First, PC 300 converts item IDs of all items stored in PCdatabase 300 a into ID numbers, and then transmits items, converted IDnumbers, and edit instruction information to handheld informationterminal 200.

[0101] Edit instruction information indicates which one of a process ofaddition, change, or deletion of an item should be performed in handheldinformation terminal 200, upon receipt by the terminal of the saidinformation. Receiving the edit instruction information, handheldinformation terminal 200 performs editing of the subject item accordingto the information.

[0102] In the present case, because the database of handheld informationterminal 200 is in an initial state, all items stored in PC database 300a are transmitted to handheld information terminal 200, with editinstruction information also being sent to prompt addition of all itemsto database 200 a.

[0103] Then, in PC 300, item IDS and corresponding ID numbers are storedin synchronization profile SP. The correspondence between item IDs andID numbers for all the items of application data are described insynchronization profile SP.

[0104] PC 300 further stores communication time information indicatingthe communication date and time with handheld terminal 200, userinformation, and PIM information in synchronization profile SP.

[0105] As stated above, referring to the synchronization profile SPallows PC 300 to acquire information such as a date and time a lastprevious synchronization operation performed with handheld informationterminal 200; and item IDs transmitted at the time of the last operationand their corresponding ID numbers information. In the nextsynchronization operation, the contents of synchronization profile SPare then compared with the contents of PC database 300 a, to determineif any item has been newly added, changed, or deleted.

[0106] In handheld information terminal 200, all items in database 300 aare received, along with ID numbers and edit instruction informationcorresponding to each item. At this stage, edit instruction informationreceived at information terminal 200 simply instructs that alltransmitted items be written in terminal database 200 a; as a result,data of all the items are written into terminal database 200 a.Concurrently, ID number information for each item is also written interminal database 200 a.

[0107] Application data stored in PC database 300 a are thus stored interminal database 200 a. Upon completion of this data update operation,identical data exists in each of databases 300 a and 200 a as shown inFIG. 3.

[0108] In addition to storing items and ID number information interminal database 200 a, as mentioned above, edit flag information,regular event information, and missing field flag information are alsostored in database 200 a.

[0109] A-3-2. Data Updating Implemented based on Items Edited in PC 300When Terminal Database 200 a is in an Initial State, Application DataStored in PC Database 300 a is Transmitted to Handheld InformationTerminal 200 to be Written into and Stored in Terminal Database 200 a.

[0110] Accordingly, in terminal database 200 a and PC database 300 aidentical application data can be stored as shown in FIG. 3.

[0111] Following completion of a data update operation, application datastored in databases 300 a and 200 a may be modified, and a furtherupdate operation needs to performed, whereby data modified in one deviceis identified to enable the device storing the information to update thedatabase of the other device, and vice versa.

[0112] Reference is now be made to FIG. 4 and FIG. 5 in describing amethod for detecting items edited in database 300 a, to enable data interminal database 200 a to be updated.

[0113] In FIG. 4, it is shown that a new item “HHH” has been added; item“DDD” has been deleted; and item “FFF” has been changed to “FFF”following completion of a previous data update operation; changes havebeen made to the records of the terminal database 200 a stored oncompletion the above described case of a data update operation when theterminal database 200 a was in an initial state.

[0114] In the data update process of the present embodiment, whenediting of items is performed in PC 300 after completion of a previousupdate, item IDs of items that have been added, changed, or deleted inPC 300 are detected to be transmitted to handheld information terminal200. In this embodiment, only data relating to edited items istransmitted to terminal 200, and information on items without changes isnot transmitted.

[0115] Consequently, edited items must be detected first. In the presentembodiment, this detection is carried out as follows:

[0116] First, description will be made regarding detection of itemsadded to database 300 a, following completion of the previous dataupdate operation.

[0117] In this case, added items are detected by comparing the contentsof the synchronization profile SP with those of database 300 a.

[0118] To be more specific, item IDs and ID number information arestored in the synchronization profile SP, the item IDs and ID numberinformation identifying items stored in the databases as of the previousdata updating.

[0119] This means that items IDs for items that have been added afterthe completion of the previous update are not stored in thesynchronization profile SP. Therefore, PC 300 detects item IDs that arenot stored in the synchronization profile SP out of the item IDs storedin PC database 300 a, and the detected items are determined to be newlyadded items.

[0120] In the example shown in FIG. 4, in synchronization profile SP,there is no item ID stored corresponding to item “HHH” in PC database300 a. The item “HHH” is thus determined as a newly added item.

[0121] Next, description will be given as to how to detect items thathave been changed at PC 300 following completion of the previous dataupdate.

[0122] The contents of the synchronization profile SP is compared withthose of the PC database 300 a as well, in order to detect changeditems.

[0123] Concretely, the synchronization profile SP stores communicationtime information indicating a date and time of a most recent previousdata updating operation; while PC database 300 a stores edit timeinformation indicating a most recent editing date and time for eachitem. Among items stored in PC database 300 a, items that correspond toitem IDs stored in each of the synchronization profile SP and the PCdatabase 300 a and whose edit time information is later than thecommunication time information stored in the synchronization profile SPare determined to be changed items.

[0124] In the example shown in FIG. 4, item “FFF” can be determined as achanged item because its items ID is stored in each of the databases andits edit time information is later than that of the communication timeinformation.

[0125] Item IDs for items deleted at PC 300 following completion of theprevious synchronization operation are detected as follows:

[0126] First it should be noted that, in this case, the memory ofsynchronization profile SP and those of PC database 300a will becompared to detect deleted items.

[0127] Specifically, in synchronization profile SP there is stored itemIDs for identifying items stored in each database as of the previousdata update operation; while, PC database 300 a stores existing items,its item IDs, and other corresponding information, but no information ondeleted items.

[0128] Thus, PC 300 selects item IDs that are not stored in PC database300 a from those stored in synchronization profile SP and determinesthat items corresponding to the selected item IDs have been deleted.

[0129] In the example shown in FIG. 4, item ID “456 . . . ” of thesynchronization profile SP is not stored in PC database 300 a (Refer toFIG. 3). Therefore, item “DDD” corresponding to item ID “456 . . . isdetermined to be a deleted item.

[0130] As described above, item IDs that have been added, changed, ordeleted following a most recent data updating operation can be detectedby comparing contents of the memory of PC database 300 a with those ofthe synchronization profile SP. Items are retrieved only for newly addedand changed item IDs.

[0131] By the data updating method of the present embodiment, it istherefore possible to detect edited items using item IDs and edit timeinformation thereof, and item IDs as of a most recent data updatingoperation and time information thereof. In this respect, the method ofthe present embodiment differs from a conventional method which comparescontents of items as of a most recent previous updating operation withcontents of items presently stored in a database to detect edited partsof the items. It will be apparent, then, that in the data updatingmethod of the present embodiment, edited items can be detected morequickly than in the conventional method; and, further, it is possible toperform effective data updating especially when an amount of items islarge.

[0132] Furthermore, in the conventional method, an amount of data storedin a synchronization profile becomes large because all data for items asof the completion of a most recent previous data updating operation haveto be stored in the synchronization profile. In the method of thepresent embodiment, to the contrary, the actual data for items are notstored in the synchronization profile SP but rather only item IDs ofitems and corresponding ID numbers are stored. Consequently, an amountof data stored in a synchronization profile SP can be minimized even ina case where a total amount of data for items is large.

[0133] As described above, when item IDs for added and changed items aredetected at PC 300, PC 300 transmits to handheld information terminal200 data of added or changed items and ID numbers corresponding itemIDs, along with edit instruction information directing either add orchange.

[0134] Item IDs of changed items are converted into ID numbers byreferring to the correlation between item IDs and ID numbers stored inthe synchronization profile SP. A new ID number will be assigned to theitem IDs of the added items, and the new ID number and its item ID willbe stored in the synchronization profile SP.

[0135] Furthermore, PC 300 transmits to handheld information terminal200 ID numbers of item IDs that have been deleted as well as editinstruction information directing deletion of items identified by thetransmitted ID numbers. In addition, item IDs and corresponding IDnumbers of the deleted items are deleted from the synchronizationprofile SP.

[0136] On the other hand, handheld information terminal 200 receivesadded or changed items, edit instruction information, and ID numbersidentifying deleted items that have been transmitted from PC 300.

[0137] In the case of items indicated by edit instruction information asnewly added, they are stored along with their ID numbers in terminaldatabase 200 a.

[0138] In the case that an item is indicated by edit instructioninformation as being changed, the changed item transmitted from PC 300is written over their previous versions stored in an area of terminaldatabase 200 a, which area can be identified by the identificationnumber of the changed item transmitted from PC.

[0139] In the case of items indicated by edit instruction information asdeleted, items identified by ID numbers, edit flag information, andother related information will be deleted from terminal database 200 a.

[0140] As described, application data stored in terminal database 200 ais updated on the basis of items that have been edited at PC 300following completion of a most recent previous data updating operation.As a result, as shown in FIG. 5, application data stored in PC 300 andhandheld terminal device 200, following completion of a data updatingmethod, is identical.

[0141] A-3-3. Data Updating Based on Items Edited in HandheldInformation Terminal 200

[0142] Reference is now made to FIG. 6 and 7 in describing updating ofapplication data stored in PC database 300 a of PC 300 after detectionof edited items at handheld information terminal 200.

[0143]FIG. 6 shows that in a handheld information terminal 200, a newitem “GGG” has been added, item “CCC” has been deleted, and item “AAA”has been changed to “AAA′” after completion of a most recent previousdata updating operation (refer to FIG. 3).

[0144] In the data updating operation of the present embodiment, whenediting of items is performed at handheld information terminal 200 aftercompletion of a data updating operation, ID numbers of items that havebeen added, changed, or deleted by handheld information terminal 200 aredetected to be transmitted to PC 300. Actual items are transmitted to PC300 only of the added items or changed items, not of deleted items.

[0145] Consequently, it is necessary to detect edited items first.Edited items are detected in the present embodiment in the followingmanner.

[0146] First, handheld information terminal 200 detects items that havebeen added, changed, or deleted following completion of a most recentprevious data updating operation by reference to edit flag informationstored in) terminal database 200 a.

[0147] As described above, edit flag information is set when either oneof the editing operations is made at handheld information terminal 200such as adding a new item, changing data of items, and deleting items.Consequently, it is possible to detect items that have been editedfollowing completion of a most recent previous data updating operationby reference to the edit flag information.

[0148] In the example shown in FIG. 6, item “AAA′” with its edit flaginformation set to “CHANGE” is determined to be a changed item. Item“GGG” with its edit flag information set to “ADD” is determined to be anewly added item. Item “CCC” with its edit flag information set to“DELETE” is determined to be a deleted item.

[0149] In the case that new or changed items are detected at handheldinformation terminal 200, data including the item in the former case, IDnumbers, and appropriate edit flag information showing either “ADD” or“CHANGE” are transmitted to PC 300.

[0150] In the case that new items are created at handheld informationterminal 200, as no ID numbers have been assigned by PC300, aprovisional ID number “0” is assigned to new items added at handheldinformation terminal 200. When deleted items are detected, ID numberscorresponding to the items and edit flag information indicating that theitems have been deleted are transmitted to PC 300.

[0151] After transmitting the data to PC 300, handheld informationterminal 200 resets the relevant edit flag information to “NONE,” anddeletes all data for the deleted items.

[0152] When PC 300 receives data transmitted from handheld informationterminal 200, it performs one of the operations as follow:

[0153] In the case of items indicated by edit flag information as beingchanged, ID numbers of the items are converted to item IDs by referringto the synchronization profile SP. The data of the changed items thathave been transmitted from handheld information terminal 200 is writtenover to replace the data presently stored in an area of PC databasecorresponding to the item IDs.

[0154] In the case of items indicated by edit flag information as beingdeleted, ID numbers of the items are converted to item IDs by referringto the synchronization profile SP, and the item IDs and data ofcorresponding items are deleted from PC database 300 a. PC 300 deletesnot only the data from PC database 300 a, but also item IDs and the IDnumbers from the synchronization profile SP.

[0155] In the case of items indicated by edit flag information as beingnewly added, the items are newly stored in PC database 300 a. Then, itemIDs are assigned to each of new items using the schedule managementapplication stored in PC 300. These item IDs are then converted into IDnumbers, item IDs and ID numbers are newly stored in the synchronizationprofile SP. Next, the ID numbers and data of corresponding items aretransmitted to handheld information terminal 200.

[0156] Handheld information terminal 200, upon receiving the data,stores the received ID number in an area under the column of ID numberof terminal database 200 a, which corresponds to an item the same asthose transmitted from PC 300, specifically a cell with the ID number“0” of FIG. 6.

[0157] As described above, application data stored in PC database 300 ais updated based on items that have been edited at handheld informationterminal 200 following completion of a previous data updating operation.Thus, following completion of a new updating operation, as shown in FIG.7, the databases of handheld information terminal 200 and PC 300 willcontain identical application data.

[0158] In the data updating method with respect to the presentembodiment, it is easy to detect edited items by reference to the editflag information stored in terminal database 200 a of handheldinformation terminal 200. Only data for edited items are transmitted toPC 300. Therefore, it is also easy for a receiver, PC 300, to perform adata updating process, because only the edited contents of the receiveditems need to be reflected in its own PC database.

[0159] Although description has been made for cases where editing takesplace at only one of either handheld information terminal 200 or PC 300,it is possible, in the case where editing of application data isperformed in both devices following the completion of a previous dataupdating operation, to implement not only data updating process based onedited items at PC but also data updating process based on edited itemsat handheld information terminal.

[0160] If different editing has been performed on the same item indifferent devices, it is possible to notify a user to enable the user toselect a desired one of the differently edited items.

[0161] Alternatively, when edit time information has been recorded athandheld information terminal 200, it is possible to compare the edittime information of PC database 300 a and that of the terminal 200 withregard to an item on which an editing operation has been performed ateach of the devices to automatically select contents edited at a latertime or date and perform a data updating operation.

[0162] A-4. Operations of PC and Handheld Information Terminal

[0163] Operations for implementing the data updating method whichemploys the principle explained above, with respect to the presentembodiment, will now be described.

[0164] The operations at each device are performed followinginstructions issued by a synchronization processing program for handheldterminal 200 and a synchronization processing program for PC 300, eachprogram being preloaded in a storage means of each device.

[0165] First, handheld information terminal 200 and PC 300 are connectedto each other for communication, and when data updating is instructed bya user, PC 300 determines whether a full or partial updating operationshould be performed.

[0166] In a full updating operation, data updating is performed, asdescribed above, when terminal database 200 a is in an initial state. Ina full updating operation, regardless of whether data are edited at PC300, all the items that are predetermined as data to be updated aretransmitted to handheld information terminal 200 to be written intoterminal database 200 a.

[0167] Partial updating is a data updating operation, as describedabove, on the basis of units edited at PC 300 or handheld informationterminal 200. However, only items edited following completion of a mostrecent previous data updating operation are transmitted to the otherdevice.

[0168] When data updating between handheld information terminal 200 andPC 300 is instructed, PC 300 determines whether to perform either a fullor partial updating.

[0169]FIG. 8 is a flow chart showing the procedure of the determiningprocess. FIG. 9 is a flow chart describing the procedure of one step“determining process of data presence or absence” (Step Sa3) of thedetermining process shown in FIG. 8. The determining process will now bedescribed with reference to FIG. 8 and FIG. 9.

[0170] When the determining process is started, it is determined whethera full updating operation is designated by a user (step Sa1).

[0171] In this step, the user can instruct a forced full updating byoperating PC 300. A user sometimes desires to initialize the memory ofhandheld information terminal 200, specifically terminal database 200 a,to write application data again in the database because the memory couldbe cluttered with application data already existing in terminal database200 a as a result of repeated data updating. The memory is noteffectively used here, which could cause delay in processing.

[0172] The user can select a full updating in such a case, so that alldata in terminal database 200 a is deleted, and entire application datastored in the database of PC 300 are written into terminal database 200a. As a result, data in the memory is effectively stored.

[0173] When a full updating is selected by a user as in the above case(step Sa1; YES), a full updating operation is performed.

[0174] When a full updating operation is not selected by a user, it isdetermined whether communication errors took place at the time of a lastprevious data updating communication and whether the range of data to beupdated has been changed or not (step Sa2).

[0175] In the case that there is any error that took place during theprevious communication, application data stored in terminal database 200a could have some deficiencies caused by an irregular data updating.

[0176] In the case that there is any change in the range of data unitsto be updated, that is, when data to be updated is changed from theprevious updating operation, no corresponding data is stored in terminaldatabase 200 a to be updated in a new updating operation.

[0177] Therefore, when there was an error in the previous communicationor the range of data for update is changed in a new updating operation(step Sa2; YES), a full updating operation is performed.

[0178] On the other hand, when there was no error or change (step Sa2;NO), a process is performed for determining whether application data tobe updated are stored in terminal database 200 a (step Sa3).

[0179]FIG. 9 shows details of the determining process of step Sa3. Asshown in the figure, PC 300 first receives from handheld informationterminal 200 information indicating the number of items stored interminal database 200 a (step Sb1).

[0180] Next, it is determined whether the number of items indicated inthe received information is zero or not (step Sb2). In the case that thenumber of items stored in the terminal database 200 a is zero (step Sb2;YES), it is determined there is no application data in terminal database200 a (step Sb3), and the determining process is completed.

[0181] In the case that the number of items stored in terminal database200 a is not zero; in other words, application data are stored interminal database 200 a (step Sb2; NO), it is determined that there isdata stored in terminal database 200 a (step Sb4), and the determiningprocess is completed.

[0182] When the determining process shown in FIG. 9 is completed, theroutine returns the process shown in FIG. 8. The presence or absence ofapplication data at handheld information terminal 200 is then determinedon the basis of a result obtained in step Sa3 (step Sa4).

[0183] In the case that it is determined that there is application datastored in the database of handheld information terminal 200 in the abovedetermining process (step Sa4; NO), a partial updating operation isperformed.

[0184] In the case that it is determined that there is no applicationdata in terminal database 200 a in the above determining process (stepSa4; YES), a full updating is performed.

[0185] This is how the process is performed for determining whether toperform a full or partial updating.

[0186] The operation of each device in data updating between PC 300 andhandheld information terminal 200 will now be described, especially inthe case of partial updating, with reference to FIG. 10. The operationin the case of full updating will not be described because the processis the same as the case of updating data when terminal database 200 a isin an initial state.

[0187]FIG. 10 is a flow chart illustrating a processing operationsequence, used for updating data between handheld information terminal200 and PC 300 in the case of partial updating. Among the steps shown inFIG. 10, more detailed description will be made for each of a process instep S12 where PC 300 updates its own PC database on the basis ofreceived contents and a process in step S14 where PC 300 transmitsedited data in FIG. 11 and 16 respectively.

[0188] As shown in FIG. 10, when a partial updating is performed, dataof edited items and related data are transmitted from handheldinformation terminal 200 to PC 300 (step S11). Handheld informationterminal 200 refers to edit flag information of terminal database 200 ato detect which item has been edited, and only data relating editeditems are transmitted to PC 300.

[0189] To be more specific, in the case that a new item is detected,data of the new item with its provisional ID number, and edit flaginformation indicating that the item is newly added are transmitted toPC 300. When a changed item is detected, data of the changed item withits ID number, and edit flag information indicating that the item hasbeen changed are transmitted to PC 300. In the case that a deleted itemsis detected, an ID number of the item and edit flag informationindicating that the item has been deleted are transmitted to PC 300.

[0190] PC 300 receives the data from handheld information terminal 200,and updates data stored in its own PC database 300 a on the basis of thereceived data (step S12).

[0191] The procedure of the updating operation in step S12 is furtherdescribed in FIG. 11. First, PC 300 refers to edit flag informationincluded in the received data to determine whether received items arenewly added, changed, or deleted items (step Sc1).

[0192] In the case of an item indicated as deleted in its correspondingedit flag information, an item ID of the deleted item is obtained fromsynchronization profile SP, the obtained item ID corresponding to the IDnumber included in the received data. Then, an item identified by theobtained item ID is deleted from PC database 300 a (step Sc2).

[0193] Next, it is determined whether there is any edit flag informationthat has not been processed in the received data (step Sc3). In the casethat there is unprocessed edit flag information, the routine returns tostep Sc1. In the case that no unprocessed edit flag information isfound, it is determined that an updating process for all items receivedfrom handheld information terminal 200 is finished, and the process isthen completed.

[0194] In the case of an item indicated as newly added in itscorresponding edit flag information in the determination of step Sc1,data of the newly added item is written into PC database 300 a, and PCdatabase 300 a creates a record of the new item (step Sc4).Subsequently, PC 300 executes an application to assign an item ID to thenewly created item (step Sc5). The assigned item ID is then converted toan ID number (step Sc6).

[0195] Next, the routine proceeds to step Sc3, and it is determinedwhether there is any edit flag information that has not been processedas in the case of the above deleting process.

[0196] In the case of an item indicated as changed in its correspondingedit flag information in the determination of step Sc1, PC 300 makeschanges on data of the changed item. In making changes, the presence orabsence of missing fields and difference of field sizes are considered(step Sc7).

[0197] Reference is now made to FIG. 12 to 14 to discuss missing field,field size, and a data updating operation considering them.

[0198] As described above, in the present embodiment, an ID number isassigned to each item, and data of each item in a database consists of aplurality of subordinate fields. The number of fields contained in eachitem varies depending on PIM, an application software; thus, an itemstored in each of two databases could contain subordinate fields whichdiffer in number between handheld information terminal 200 and PC 300.When a data updating operation is performed without considering thedifference in the number of fields, a problem could arise as describedbelow.

[0199] For example, as shown in FIG. 12, we assume that data of achanged item are transmitted from handheld information terminal 200 andthat the item consists of three subordinate fields. We also assume thatdata of an item, in PC database 300 a, to be updated based on thereceived data consists of four subordinate fields. When the receiveddata of the item with three subordinate fields is overwritten onto thecorresponding item in PC database 300 a to replace existing data of theitem with four subordinate fields, data of field F4 will be deleted. Inthe present embodiment, a field such as is deleted as field F4 isreferred to as a missing field.

[0200] To prevent necessary data from being deleted as in the abovecase, when edit flag information indicates that an item correspondingthereto has been changed, the presence or absence of missing field isdetermined by referring to data of the changed item.

[0201] When the number of fields contained in a received changed item issmaller than that of a corresponding item in the database 300 a, it isdetermined that there is a missing field. When the number of fieldscontained in a received changed item is larger than or equal to that ofa corresponding item in the database 300 a, it is determined that thereis no missing field.

[0202] When it is determined that there is no missing field as a resultof the determination of the presence or absence of a missing field, anormal changing operation is performed to overwrite received data of anitem onto data of an corresponding item in PC database 300 a to replacean existing version.

[0203] On the other hand, when it is determined that there is a missingfield, the following process will be performed. As shown in FIG. 12, amissing field, in this case, field F4, will be stored as is in PCdatabase 300 a because otherwise field F4 would be deleted. Then, onlythe fields F1 to F3 of the PC database are replaced with fields f1 to f3of the received item.

[0204] Consequently, as shown in FIG. 13, fields f1 to f3 and field F4are stored in PC database 300 a when the updating operation iscompleted.

[0205] Field size is a maximum data size that can be stored in a fieldof an item in each of terminal database 200 a and PC database 300 a. Thefield size sometimes differs between the two databases depending on anapplication as in the case of missing field.

[0206] In particular, memory capacity in a storage device in smallterminals such as handheld information terminal 200 is typically smallerthan that of PCs; a maximum data size of a field, as described above, issometimes set smaller compared to that of PCs. We assume here that, asin FIG. 14, the size of field D4 of an item stored in PC database 300 ais larger than that of field d4 of an corresponding item stored interminal database 200 a. If data for update is received from handheldinformation terminal 200 in such a case, field D4 of a larger size in PCdatabase 300 a would be deleted to be replaced with field d4 of asmaller size.

[0207] To prevent field D4 from being deleted, data stored in field D4before updating is left as is, and at the same time data of field d4received from handheld information terminal 200 is added to field D4.

[0208] To be more specific, when data “it is very fine day today” isstored in field D4, and data “fine tomorrow” is transmitted fromhandheld information terminal 200, the data of field D4 will be updatedto “(fine tomorrow) it is very fine day today.”

[0209] When the changing process in step Sc7 of FIG. 11 considering theabove missing field and filed size is completed, the routine advances tostep Sc3.

[0210] In step Sc3, it is determined whether an unprocessed edit flaginformation is present or not as in the case of the above deletingprocess and adding process, and if there is any unprocessed edit flaginformation, the routine returns to step Sc1. The process of updating PCdatabase 300 a on the basis of received contents in step S12 of FIG. 10is thus performed.

[0211] When the process of updating PC database 300 a is completed, anext process of detecting items edited by PC 300 following completion ofa last previous data updating is performed (step S13).

[0212] In detecting edited items, it is possible to select the range ofitems to be detected in PC 300. In the data updating method of thepresent embodiment, schedule management application data are treated,and thus data of an item relates to a date and time such as a start timeof an event. Therefore, as shown in FIG. 15, it is possible to limittime range of items to be detected in such a way to select items thatfall within a range from X days before the present date to Y days afterthe present date.

[0213] Specifically, when items A to I are stored in PC database 300 aas shown in FIG. 15, items C to G which fall within the range of X daysbefore a present date to Y days after the present date are selected, anddata of items edited following completion of a last previous dataupdating are detected among the items C to G. The process of detectingnewly added, changed, or deleted items is then performed, which processis the same as what is described above in the section of data updatingbased on items edited in PC.

[0214] In the case of detecting items edited at handheld informationterminal 200, items to be detected are not selected as in the case of PC300, and data in PC database 300 a are updated on the basis of all itemsthat are edited at handheld information terminal 200 (refer to step S12of FIG. 11).

[0215] Edited items are detected among selected items only in the caseof detecting edited items at PC because the memory capacity of a storagedevice in handheld information terminal 200 is usually smaller that ofPC 300. Limiting, by a time period, items to be updated as in the abovecase makes it possible to prevent unnecessary data from beingaccumulated in terminal database 200 a.

[0216] When the detecting operation of edited items at PC 300 (step S13of FIG. 10) is completed, data of detected items and ID numbers of itemsto be deleted are transmitted to handheld information terminal 200 (stepS14).

[0217] Reference is now made to FIG. 16 to describe the transmittingprocess of step S14 in detail. First in this process, it is determinedwhat kind of editing has been made for each of items detected by theabove detecting process (Sd1).

[0218] When it is determined that deletion has been performed for one ofthe detected items, PC 300 refers to the synchronization profile SP toobtain an ID number from an item ID of the deleted item. The ID numberand the edit instruction information which instructs handheldinformation terminal 200 to delete the item are transmitted to theterminal 200 (step Sd2). Then, it is determined whether there is anyunprocessed item among the edited items detected in the above detectingprocess (step Sd3).

[0219] In the case that there is an item indicated as a changed item inthe determination of step Sd1, it is first determined whether the datasize of each field constituting the changed item is larger than apredetermined field size of terminal database 200 a (step Sd4).

[0220] The determination in step Sd4 is performed with consideration tothe limited field size in compact terminals. The predetermined sizedenotes the maximum amount of data that can be included in a field of anitem in the database of handheld information terminal 200. Becausecompact terminals such as handheld information terminal 200 have astorage device with a small memory capacity compared to PCs as describedabove, the maximum data size of a field is often set smaller than thatin PCs. When data of an item having a field that exceeds the maximumfield size allowable in terminal database 200 a is transmitted from PC300 to handheld information terminal 200, the transmitted data cannot bestored in terminal database 200 a.

[0221] In the case that it is found that data is edited at PC 300 of anitem with a larger field size than the maximum field size allowable interminal database 200 a (step Sd4; YES), the data size of a field in thechanged item is adjusted (step Sd5).

[0222] Specifically, an adjustment is made in such a way to leave onlythe head portion of a character string written in the subject field andto delete other data, only the head portion being transmitted tohandheld information terminal 200. The ID number of an item and editinstruction information which instructs the change of the item as wellas the adjusted item are transmitted to handheld information terminal200 (step Sd6). After the transmission of the data is completed, theroutine advances to step Sd3 as in the case of deleted items and returnsto step Sd1 if there is any unprocessed item.

[0223] In the case that it is determined that an item has been newlyadded in the determination of step Sdl, it is determined whether or notthe size of each field of the newly added item is larger than the abovepredetermined size as in the case of changed items (step Sd8).

[0224] Then, when it is found that the newly added item at PC includes afield of a larger size compared to the maximum field size allowed interminal database 200 a (step Sd8; YES), the data size of the largerfield is adjusted (step Sd9). The adjustment is made in the same way asthe above.

[0225] Then, the item ID of the newly added item is converted to an IDnumber (step Sd10); data of the adjusted item with its ID number, editinstruction information that instructs handheld information terminal 200to add the item are transmitted to the terminal 200 (step Sd11). Whenthe transmission is completed, the routine advances to step Sd3 as inthe case of the deleted or changed items, and if there is anyunprocessed item, the routine returns to step Sd1.

[0226] In the case that no unprocessed item is found in thedetermination of step Sd3, and that all data of detected items requiredfor updating are transmitted, ID numbers converted from item IDs at PCare transmitted to handheld information terminal 200 (step Sd12). The IDnumbers correspond to items newly added to terminal database 200 a, andare converted from item IDs during the updating process at PC based onreceived contents, specifically step Sc6 of FIG. 11.

[0227] When the transmission process of step S14 in FIG. 10 is thuscompleted, handheld information terminal 200 receives the datatransmitted from PC 300. Handheld information terminal 200 performsupdating of application data stored in terminal database 200 a on thebasis of the received data (step S15). The data updating operation inthis step is the same as described in the section of data updating basedon the items edited at PC, and handheld information terminal 200performs data updating according to the received edit instructioninformation.

[0228] PC 300, upon completion of the transmission process of editeddata, updates synchronization profile SP on the basis of contents of thememory of its own PC database 300 a that have been updated on the basisof the edited contents at handheld information terminal 200 (step S16).The data updating process between handheld information terminal 200 andPC 300 is then completed.

[0229] B. Second Embodiment

[0230] A data updating method with respect to a second embodiment of thepresent invention will now be described.

[0231]FIG. 17 shows an example of a schematic configuration of a systemto which the data updating method is applied with respect to a secondembodiment of the present invention.

[0232] As shown in the figure, the example system configuration includesa network system NS with a server 400 that is connected through a LocalArea Network (LAN) with a plurality of client PCs 301, 302, . . . , eachPC having the same function as the above PC 300. A handheld informationterminal 200′ is capable of performing a data updating process asdescribed above with each of client PCs 301, 302, . . . of the,networksystem NS.

[0233] In network system NS, application data the same as the abovefirst embodiment is shared in a database of server 400. Application dataare edited by a schedule management application executed in clients PC301, 302, . . . , and when application data is edited at one client PC,the edited application data can be shared by the other client PCs.

[0234] The principle of the data updating method with respect to thesecond embodiment is completely the same as that in the firstembodiment, and the above mentioned ID numbers, edit flag information,and other information are also used in performing a data updatingoperation between handheld information terminal 200′ and each client PC.

[0235] Further, while synchronization profile SP is stored only in PC300 in the above first embodiment, it is stored also in handheldinformation terminal 200′ in the second embodiment.

[0236] Storing synchronization profile SP in handheld informationterminal 200′ allows a user of the terminal to perform data updating asdescribed in the first embodiment with any one of client PCs connectedto network system NS. Also, user information stored in synchronizationprofile SP in each of client PC 301, 302, . . . and handheld informationterminal 200′ can be used for authorization; data updating is permittedonly when user information stored in each of the two devices isdetermined to be identical to each other.

[0237] The second embodiment of the present invention will be describedhereinafter, illustrating a case where client PC 301 first gives itsapplication data to handheld information terminal 200′ that is in aninitial state, and after editing is performed at each of databases ofhandheld information terminal 200′ and network system NS, data updatingis performed between handheld information terminal 200′ and client PC302.

[0238] First, data stored in a network database NSa is shared to adatabase of handheld information terminal 200′ (hereinafter referred toas database 200 b) through data communication between the terminal andclient PC 301; database 200 b being in an initial state. Consequently,application data stored in network database NSa is duplicated todatabase 200 b. The updating process performed here is the same asdescribed in the above first embodiment.

[0239] Next, when the data updating operation is completed to make bothdatabases and synchronization profile SP up-to-date, the updatedsynchronization profile SP is transmitted from client PC 301 to handheldinformation terminal 200′. Handheld information terminal 200′ stores thetransmitted synchronization profile SP in its own memory.

[0240]FIG. 18 is an example of data stored in each device on completionof the data updating operation. Data stored in synchronization profileSP of client PC 301 include item IDs of items stored in each of thedatabases of server 400 and handheld information terminal 200′; and IDnumbers corresponding thereto, the synchronization profile SP alsoincluding PIM information, user information, and communication timeinformation.

[0241] Data stored in database NSa is the same as those stored in PC 300a (refer to FIG. 2) of the first embodiment. The database NSa stores notonly items and item IDs but also edit time information, but only theitems and item IDs are shown in FIG. 18 for simplicity. The database 200b of handheld information terminal 200′ also stores the same data asterminal database 200 a (refer to FIG. 2) of the above first embodiment;only items and ID numbers are shown in the figure for simplicity.

[0242] Subsequently, application data stored in each of database 200 band database NSa is edited at each of handheld information terminal 200′and network system NS. We assume that application data in each ofdatabase 200 b and database NSa are changed to such as is shown in FIG.19 as a result.

[0243] The figure shows that item “EEE” has been newly added at handheldinformation terminal 200′ and that item “DDD” has been newly added atnetwork system NS.

[0244]FIG. 20 is a flow chart illustrating a processing operationsequence enacted in client PC 302 and handheld information terminal 200′for implementing the data updating method of the second embodiment.

[0245] In performing data updating process, handheld informationterminal 200′ and client PC 302 are connected to each other, andhandheld information terminal 200′ first transmits its ownsynchronization profile SP to client PC 302 (step S21).

[0246] Client PC 302, upon receiving the synchronization profile SPtransmitted from handheld information terminal 200′, determines whetheruser information stored therein is the same as user information storedin the synchronization profile SP in its own PC database (step S22).

[0247] In this example, it is supposed that this is the first dataupdating performed between handheld information terminal 200′ and clientPC 302; therefore, only PIM information and user information are beingwritten in the synchronization profile SP contained in client PC 302. Inother words, item IDs, ID numbers, and communication time are left blankin synchronization profile SP stored in client PC 302 as shown in FIG.19.

[0248] On the other hand, PIM information and user information arestored in the synchronization profile SP of client PC 302, and they areidentical to those in the synchronization profile SP of client PC 301.Also, as described above, synchronization profile SP stored in handheldinformation terminal 200′ is the one transmitted from client PC 301 in alast previous data updating operation where application data in thenetwork database NSa was duplicated to database 200 b which had been inan initial state. Consequently, user information stored in thesynchronization profile SP of handheld information terminal 200′ must bethe same as user information stored in the synchronization profile SP ofclient PC 302.

[0249] If user information stored in synchronization profiles of each ofhandheld information terminal 200′ and client PC 302 do not agree witheach other, handheld information terminal 200′ could be owned by a thirduser or falsely remodeled. To prevent data updating to be performed withan unauthorized terminal, client PC 302 performs the above determinationand allows data updating only when user information stored in thesynchronization profile SP of handheld information terminal 200′ is thesame as the user information in its own synchronization profile SP.

[0250] When user information in each synchronization profile isdetermined to be the same, a data updating process is initiated. Thesynchronization profile SP of client PC 302 first duplicates item IDs,ID numbers, and communication time information described in thesynchronization profile SP transmitted from handheld informationterminal 200′ (step S23).

[0251] Then, as in the first embodiment, edited data are transmittedfrom handheld information terminal 200′ to client PC 302 (refer to stepS11 of FIG. 10), and client PC 302 performs a data updating process inthe same way as the first embodiment (refer to steps S12 to S16 of FIG.10) by referring to the duplicated synchronization profile SP.

[0252] After the data updating process is performed, the synchronizationprofile SP updated in client PC 302 is transmitted to handheldinformation terminal 200′ (step S24), and handheld information terminal200′ stores the updated synchronization profile SP (step S25).

[0253] Consequently, the databases of network system NS and handheldinformation terminal 200′ on completion of the data updating operationwill be such as are shown in FIG. 21. As shown in the figure, changesmade at each of handheld information terminal 200′ and network system NSare reflected to data stored in each of network database NSa anddatabase 200 b.

[0254] However, a next data updating operation cannot be performedbetween handheld information terminal 200′ and client PC 301, using thesynchronization profile stored in client PC 301 because thesynchronization profile of client PC 301 stores out-of-date data of theprevious synchronization operation.

[0255] Therefore, it becomes necessary, in performing data updatingbetween handheld information terminal 200′ and client PC 301 followingthe data updating operation between handheld information terminal 200′and client PC 302, to transmit the updated synchronization profile SPfrom handheld information terminal 200′ to client PC 301 to replace thememory of the synchronization profile SP contained therein, thesynchronization profile SP stored in handheld information terminal 200′being the most updated one.

[0256] In a conventional data updating method, a synchronization profile(storing actual data of items instead of ID numbers) is not stored inhandheld devices but only in PCs. Therefore, data updating betweenclient PC 302 and handheld information terminal 200′ as described abovecannot be performed using the conventional method when neither of clientPC 302 or handheld information terminal 200′ contains a synchronizationprofile storing most recent data updated at a last previoussynchronization, and items edited following completion of a lastprevious update cannot be detected.

[0257] To the contrary, in the data updating method of the secondembodiment, a synchronization profile is stored in a memory of handheldinformation terminal 200′, thereby enabling data updating betweenhandheld information terminal 200′ and any one of client PCs 301, 302, .. . .

[0258] However, storing a synchronization profile in handheldinformation terminal 200′ requires the downsizing of data size of thefile because handheld information terminal 200′ has a limited memorycapacity compared to PCs.

[0259] Therefore, the synchronization profile SP used in the secondembodiment stores only data for identifying items such as item IDs andID numbers instead of actual contents of items as stored in theconventional synchronization profile. In other words, in the secondembodiment, the data-size of a synchronization profile is much reducedcompared to those used in the conventional data updating, enablinghandheld information terminal 200′ to store a synchronization profilewithout pressuring its memory.

[0260] Thus, the second embodiment enables the data updating betweenhandheld information terminal 200′ and each client PC of network systemNS as stated above, without overloading the memory of handheldinformation terminal 200′.

[0261] C: Modifications

[0262] The above first and second embodiments should not be construed aslimitations on the scope of the invention, and it is apparent to thoseskilled in the art that modifications may be made within the scope ofthe spirit of the invention. For example, various modifications arepossible as follow:

[0263] First Modification:

[0264] While, in the above first embodiment, synchronization profile SPis contained in PC 300, it is possible for handheld information terminal200 to contain synchronization profile SP. Also, synchronization profileSP may be contained in an external storage device connected with PC 300for use.

[0265] Second Modification:

[0266] When the data size of an item ID used in an application such asPIMs is originally small, for example, about 5 to 10 bytes, it ispossible to omit the process of converting item IDs to ID numbers and touse only item IDs.

[0267] In this case, the synchronization SP does not store ID numbersbut only item IDs and other information such as PIM information, anditem IDs, instead of ID numbers, are stored in terminal database 200 aof handheld information terminal 200 to identify an item by an item ID.

[0268] In the modification, there would be no increase in the dataamount stored in a synchronization profile nor in terminal database 200a because actual data of items are not stored therein.

[0269] Third Modification:

[0270] While the updating processing is performed for each item in theabove embodiments, a data unit to be processed does not have to be anitem but may be a field. That is, ID numbers may be assigned to eachfield, and a detecting process of edited data may be performed for eachfield.

[0271] Fourth Modification:

[0272] In the third modification, PC 300 or client PCs such as 301 & 302handle application data created by a plurality of differentapplications.

[0273] In this case, a data configuration handled in each of theplurality of applications is sometimes different from one another; thenumber of fields included in an item and the maximum data size of afield sometimes varies as explained above. Therefore, it is necessaryfor the above synchronization processing program to consider possibledifference in data configuration.

[0274] Alternatively, it is possible to configure PC 300 or client PCssuch as 301 & 302 in such a way as shown in FIG. 22 to implement a dataupdating process described in the above embodiments of application datawhen they are created by a plurality of different applications.

[0275] As shown in FIG. 22, a PC contains a synchronization engine unit60, a component of a functional configuration, which is implemented bythe above synchronization processing program, the PC also containing afirst application unit 61, a second application unit 62, and a thirdapplication unit 63, each of which is also a component of a functionalconfiguration and implemented by a plurality of (three in the exampleshown in the figure) different application programs such as PIMs; andinterface units 61 a, 62 a, and 63 a that lie between each of theapplication units and synchronization engine unit 60.

[0276] Each interface unit 61 a, 62 b, and 63 b corresponds to each offirst application unit 61, second application unit 62, and thirdapplication unit 63, and each of the interface units convertsapplication data in different formats created by its correspondingapplication unit into one format that can be handled by synchronizationengine 60. As a consequence, synchronization engine 60 does not have torecognize data configuration which differs depending on an application,to thereby allow a simple program configuration.

[0277] Fifth Modification:

[0278] While data updating with the present invention is performedbetween a PC 300 or client PCs such as 301 & 302 and a handheldinformation terminal 200 or 200′ in the above embodiments, the dataupdating may be performed between two handheld information terminals.

[0279] Sixth Modification:

[0280] While wristwatch-type handheld information terminals 200, 200′are used in the above embodiments, it is not restricted to thewristwatch-type. For example, it is possible to use informationprocessing devices such as notebook-sized personal computers and PDAswith typical appearance.

[0281] Seventh Modification:

[0282] Embodiments of the present invention include not only anembodiment such as of producing and selling a device which performs dataupdating as disclosed in the above-mentioned embodiments but also anembodiment of distributing through a telecommunication line a programfor making a network-connected computer function as a data updatingdevice as disclosed in the above embodiments; and an embodiment ofdistributing such a program recorded in a computer-readable recordingmedium.

What is claimed is:
 1. A data updating method comprising: use of a firstinformation processing device containing a first database; a secondinformation processing device containing a second database; each of saidfirst and second database storing application data consisting of one ora plurality of data units generated by a given application; a memorycontained in either one of said first or second information processingdevice storing an update file including communication time informationindicating a date and time of a synchronization communication initiatedby said first information processing device, by which said secondinformation processing device is notified of data updated in said firstdatabase to be updated in said second database for synchronization withsaid updated data in said first database, said update file alsoincluding identification numbers assigned to each of data units whichcomprise application data in said first database; said first informationprocessing device, if required, adding a new data unit, changing ordeleting a data unit of said application data; and when a new data unitis added to the application data in said first database or when thecontents of one of said one or a plurality of data units are changed,storing edit time data indicating a date and time of an addition orchange of a data unit, the edit time corresponding to an identificationnumber of an added or changed data unit; said first informationprocessing device, upon initiation of a synchronization communicationwith said second information processing device for notifying dataupdated in said first database to be updated in said second database forsynchronization with said updated data in said first database, comparingsaid identification numbers of said data units and said communicationtime of the synchronization communication, said identification numbersand communication time being stored in said update file, with theidentification numbers of data units and edit time data of each of saiddata units stored in said first database, to thereby detect among saidplurality of data units which comprise said application data stored insaid first database, any data units that have been added, changed, ordeleted at a time subsequent to completion of a most recentsynchronization communication; said first information processing device,in a case where a newly added or changed data unit is detected,transmitting to said second information processing device the data unitwith its identification number, and an instruction to add or change thedata unit and storing the identification number in said update file;said first information processing device, in a case where deletion of adata unit is detected, transmitting to said second informationprocessing device the identification number of the deleted data unitwith an instruction to delete a data unit corresponding to theidentification number and deleting the identification number from saidupdate file; and said second information processing device updating theapplication data in said second database on the basis of informationtransmitted from said first information processing device.
 2. A dataupdating method as claimed in claim 1, wherein said second informationprocessing device is a handheld information processing terminal.
 3. Adata updating method as claimed in claim 1, wherein detection of dataunits further comprises: when a data unit which is stored in said firstdatabase has no corresponding identification number stored in saidupdate file, determining that the data unit was created at a timesubsequent to completion of a most recent synchronization communication;and when a data unit exists, in said first database, which has anidentification number stored in said update file, but the edit time dataof which indicates a time later than that of communication time datacontained in said update file, determining that the data unit waschanged at a time subsequent to completion of a most recentsynchronization communication; and further when a data unit exists whichis not stored in said first database, but which has an identificationnumber stored in said update file, determining that the subject dataunit was deleted at a time subsequent to completion of a most recentsynchronization communication.
 4. A data updating method as claimed inclaim 1, wherein the step of updating application data in said seconddatabase further comprises: in the case that edit add information istransmitted, adding said transmitted data unit and its identificationnumber in said second database; in the case that edit change informationis transmitted, overwriting the transmitted data unit onto a data unit,in said second database, identified by the transmitted identificationnumber of the data unit; and in the case that edit delete information istransmitted, deleting a data unit that is stored in said second databaseand is identified by the transmitted identification number.
 5. A dataupdating method as claimed in claim 1, further comprising: in the casethat application data relates to a date and time, detecting not onlydata units that have been added or changed at a time subsequent tocompletion of a most recent synchronization communication but also dataunits that have been deleted at a time subsequent to completion of themost recent synchronization communication, from among data unitsexisting in said first database at the beginning of this synchronizationcommunication and having dates falling within a prescribed time period.6. A data updating method as claimed in claim 1, wherein data unitsinclude one or more subordinate secondary data units, the method furthercomprising: in the case that a data unit stored in each of said firstand second databases includes secondary data units which differ innumber between the said data units stored in each of said first andsecond databases, and when in one of said databases a one of said dataunits which includes a larger number of secondary data units is updatedon the basis of the other of said data units including a smaller numberof secondary data units, and which said other of said data units isstored in the other of said databases, preventing any secondary dataunit of the data unit including a larger number of secondary data units,said any secondary data unit not being included in said other data unitincluding a smaller number of secondary data units, from being deleted.7. A data updating method as claimed in claim 1, wherein data unitsinclude one or more subordinate secondary data units, the method furthercomprising: in the case that a maximum data size of a subordinatesecondary data unit differs between said data units stored in each ofsaid first or said second database, and when data size of a saidsecondary data unit stored in a data unit of a one of said databaseswith a larger maximum data size is larger than the maximum data size ofa said secondary data unit allowed in a data unit of the other of saiddatabases with a smaller maximum data size, preventing said secondarydata unit of a larger data size stored in said one database of a largermaximum data size from being deleted in updating said one database onthe basis of the memory of said other database.
 8. A data updatingmethod as claimed in claim 1, wherein said first information processingdevice stores in said first database application data edited by aplurality of applications, further comprising a step of converting datain a plurality of different formats edited by said plurality ofapplications into one data format.
 9. A data updating method as claimedin claim 1, further comprising: in the case that a synchronizationcommunication is initiated, user information stored in each of saidfirst and second information processing device is compared; and whensaid user information is determined to be the same, updating the memoryof said second database.
 10. A data updating method comprising: use of afirst information processing device containing a first database; asecond information processing device containing a second database; eachof said first and second database storing application data consisting ofone or a plurality of data units generated by a given application; amemory contained in one of either said first or second informationprocessing device storing an update file including communication timeinformation indicating a date and time of a synchronizationcommunication initiated by one of either said first or said secondinformation processing device, by which the other of said first or saidsecond information processing device is notified of data updated in adatabase of said one device to be updated in a database of said otherdevice for synchronization with said updated data in said database ofsaid one device, said update file also including identification numbersassigned to each of data units which comprise synchronized applicationdata in a database of said one or said other device; said firstinformation processing device, if required, adding a new data unit,changing or deleting a data unit of said application data; and when anew data unit is added to the application data in said first database orwhen the contents of one of said one or a plurality of data units arechanged, storing edit time data indicating a date and time of anaddition or change of a data unit, the edit time corresponding to anidentification number of an added or changed data unit; said secondinformation processing device, when application data stored in saidsecond database is edited to add a new data unit, change or delete oneof said one or plurality of data units, recording edit information as towhich editing operation has been performed, which edit informationcorresponds to an identification number of edited data unit, in saidsecond database; said first information processing device, when asynchronization communication is performed by one of either said firstor said second information processing device notifying data updated in adatabase of said one device to be updated in a database of the other ofsaid first or said second information processing device forsynchronization with said updated data in said database of said onedevice, comparing said identification numbers of said data units andsaid communication time of the synchronization communication, saididentification numbers and communication time being stored in saidupdate file, with the identification numbers of data units and edit timedata of each of said data units stored in said first database, tothereby detect among said plurality of data units which comprise saidapplication data stored in said first database, any data units that havebeen added, changed, or deleted at a time subsequent to completion of amost recent synchronization communication; said first informationprocessing device, in a case where a newly added or changed data unit isdetected, transmitting to said second information processing device thedata unit with its identification number, and an instruction to add orchange the data unit; said first information processing device, in acase where deletion of a data unit is detected, transmitting to saidsecond information processing device the identification number of thedeleted data unit with an instruction to delete a data unitcorresponding to the identification number; said second informationprocessing device updating application data in said second database onthe basis of the data transmitted from said first information processingdevice; said second information processing device, in a case where saidedit information indicates that a new data unit has been added,transmitting to said first information processing device the additionaldata unit and the identification number of the additional data unit,with data instructing an addition of the data unit; and said secondinformation processing device, in a case where said edit informationindicates that one of said one or plurality of data units has beenchanged, transmitting the changed data unit and the identificationnumber of the changed data unit, with data instructing a change of thechanged data unit, to said first information processing device; saidsecond information processing device, in a case where said editinformation indicates that one of said one or plurality of data unitshas been deleted, transmitting the identification number of the deleteddata unit, with data instructing a deletion of the data unitcorresponding to the identification number, to said first informationprocessing device; said first information processing device updatingapplication data in said first database on the basis of the datatransmitted from said second information processing device; and saidfirst information processing device, after the updating of theapplication data in said first database is completed, updating saididentification numbers and said communication time information stored insaid update file on the basis of application data stored in its owndatabase and a date and time of this synchronization communication. 11.A data updating method as claimed in claim 10, wherein said secondinformation processing device is a handheld information processingdevice.
 12. A data updating method as claimed in claim 10, whereindetection of data units by said first information processing devicefurther comprises: when a data unit which is stored in said firstdatabase has no corresponding identification number stored in saidupdate file, determining that the data unit was created at a timesubsequent to completion of a most recent synchronization communication;and when a data unit exists, in said first database, which has anidentification number stored in said update file, but the edit time dataof which indicates a time later than that of communication time datacontained in said update file, determining that the data unit waschanged at a time subsequent to completion of a most recentsynchronization communication; and further when a data unit exists whichis not stored in said first database, but which has an identificationnumber stored in said update file, determining that the subject dataunit was deleted at a time subsequent to completion of a most recentsynchronization communication.
 13. A data updating method as claimed inclaim 10, wherein the step of updating application data, performed by inone of either said first or said second information processing device,in its own database on the basis of information transmitted from theother of said first or second information processing device, furthercomprises: in the case that edit add information is transmitted, addingsaid transmitted data unit and its identification number in its said owndatabase; in the case that edit change information is transmitted,overwriting the transmitted data unit onto a data unit, in its said owndatabase, identified by the transmitted identification number of thedata unit; and in the case that edit delete information is transmitted,deleting a data unit, identified by the transmitted identificationnumber, that is stored in its said own database and is identified by thetransmitted identification number.
 14. A data updating method as claimedin claim 10, further comprising: said first information processingdevice, when a data unit created at said second database at a timesubsequent to completion of a most recent synchronization communicationis transmitted to said first information processing device to be writteninto said first database, assigning a new identification number to thedata unit to be written in and transmitting said assigned newidentification number to the second information processing device; andsaid second information processing device storing said assigned newidentification number in said second database, relating said newidentification number to the data unit created at the time subsequent tocompletion of the most recent synchronization communication.
 15. A dataupdating method as claimed in claim 10, wherein data units include oneor more subordinate secondary data units, the method further comprising:in the case that a data unit stored in each of said first and seconddatabases includes secondary data units which differ in number betweenthe said data units stored in each of said first and second databases,and when in one of said databases a one of said data units whichincludes a larger number of secondary data units is updated on the basisof the other of the said data units including a smaller number ofsecondary data units, and which said other of said data units is storedin the other of said databases, preventing any secondary data unit ofthe data unit including a larger number of secondary data units, saidany secondary data unit not being included in said other data unitincluding a smaller number of secondary data units, from being deleted.16. A data updating method as claimed in claim 10, wherein data unitsinclude one or more subordinate secondary data units, the method furthercomprising: in the case that a maximum data size of a subordinatesecondary data unit differs between said data units stored in each ofsaid first or said second database, and when data size of a saidsecondary data unit stored in a data unit of a one of said databaseswith a larger maximum data size is larger than the maximum data size ofa said secondary data unit allowed in a data unit of the other of saiddatabases with a smaller maximum data size, preventing said secondarydata unit of a larger data size stored in said one database of a largermaximum data size from being deleted in updating said one database onthe basis of the memory of said other database.
 17. A data updatingmethod comprising: use of a first information processing devicecontaining a first database; a second information processing devicecontaining a second database; each of said first and second databasestoring application data consisting of one or plurality of data unitsgenerated by a given application; said first information processingunit, when application data stored in said first database is edited toadd a new data unit, change or delete one of said one or plurality ofdata units, recording edit information as to which editing operation hasbeen performed, which edit information corresponds to an identificationnumber of edited data unit, in said first database; said firstinformation processing device, upon initiation of a synchronizationcommunication with said second information processing device fornotifying data updated in said first database to be updated in saidsecond database for synchronization with said updated data in said firstdatabase, in a case where said edit information indicates that a newdata unit has been added, transmitting to said second informationprocessing device the additional data unit and the identification numberof the additional data unit, with data instructing an addition of thedata unit; and said first information processing device, in a case wheresaid edit information indicates that one of said one or plurality ofdata units has been changed, transmitting the changed data unit and theidentification number of the changed data unit, with data instructing achange of the changed data unit, to said second information processingdevice; said first information processing device, in a case where saidedit information indicates that one of said one or plurality of dataunits has been deleted, transmitting the identification number of thedeleted data unit, with data instructing a deletion of a data unitcorresponding to the identification number to said second informationprocessing device; and said second information processing deviceupdating application data in said second database on the basis of thedata transmitted from said first information processing device.
 18. Adata updating method as claimed in claim 17, wherein said firstinformation processing device is a handheld information processingdevice.
 19. A data updating method comprising: use of an informationprocessing device being one of a network-connected plurality ofinformation processing devices sharing a database storing applicationdata containing one or plurality of data units; a handheld informationprocessing device containing a database for storing application datacontaining one or plurality of data units, said handheld informationprocessing device storing an update file including communication timeinformation indicating a date and time of a synchronizationcommunication initiated by one of either said information processingdevice or said handheld information processing device, by which theother of said information processing device or said handheld informationprocessing device is notified of data updated in a database of said onedevice to be updated in a database of said other device forsynchronization with said updated data in said database of said onedevice, said update file also including identification numbers assignedto data units which comprise synchronized application data in a databaseof said one or said other device; said information processing device, ifrequired, adding a new data unit, changing or deleting a data unit ofsaid application data; and when a new data unit is added to theapplication data in its own database or when the contents of one of saidone or a plurality of data units are changed, storing edit time dataindicating a date and time of an addition or change of a data unit, theedit time corresponding to an identification number of an added orchanged data unit; said handheld information processing device, whenapplication data stored in its own database is edited to add a new dataunit, change or delete one of said one or plurality of data units,recording edit information as to which editing operation has beenperformed, which edit information corresponds to an identificationnumber of edited data unit in the database; said information processingdevice, when a synchronization communication is performed by one ofeither said information processing device or said handheld informationprocessing device notifying data updated in said database of said onedevice to be updated in said database of said other device forsynchronization with said updated data in the database of said onedevice, comparing said identification numbers of said data units andsaid communication time of the synchronization communication, saididentification numbers and communication time being stored in saidupdate file, with the identification numbers of data units and edit timedata of each of said data units stored in the database of saidinformation processing device, to thereby detect among said plurality ofdata units which comprise said application data stored in said databaseof said information processing device, any data units that have beenadded, changed, or deleted at a time subsequent to completion of a mostrecent synchronization communication; said information processingdevice, in a case where a newly added or changed data unit is detected,transmitting to said handheld information processing device the dataunit with its identification number, and either add edit or change editinformation to prompt addition or change of the data unit; saidinformation processing device, in a case where deletion of a data unitis detected, transmitting to said handheld information processing devicethe identification number of the deleted data unit with an instructionto delete a data unit corresponding to the identification number; saidhandheld information processing device updating application data in itsown database on the basis of data transmitted from said informationprocessing device; said handheld information processing device, in acase where said edit information indicates that a new data unit has beenadded, transmitting to said information processing device the additionaldata unit and the identification number of the additional data unit,with edit add information for the data unit; and said handheldinformation processing device, in a case where said edit informationindicates that one of said one or plurality of data units has beenchanged, transmitting the changed data unit and the identificationnumber of the changed data unit, with edit change information for thechanged data unit, to said information processing device; said handheldinformation processing device, in a case where said edit informationindicates that one of said one or plurality of data units has beendeleted, transmitting the identification number of the deleted dataunit, with edit delete information for the data unit to said informationprocessing device; said information processing device updatingapplication data in its own database on the basis of data transmittedfrom said handheld information processing device; and said handheldinformation processing device updating said identification numbers andsaid communication time information stored in said update file on thebasis of application data stored in its own database and a date and timeof this synchronization communication.
 20. A data updating method asclaimed in claim 19, wherein detection of data units by said informationprocessing device further comprises: when a data unit which is stored insaid first database has no corresponding identification number stored insaid update file, determining that the data unit was created at a timesubsequent to completion of a most recent synchronization communication;and when a data unit exists, in said database of said informationprocessing device, which has an identification number stored in saidupdate file, but the edit time data of which indicates a time later thanthat of communication time data contained in said update file,determining that the data unit was changed at a time subsequent tocompletion of a most recent synchronization communication; and furtherwhen a data unit exists which is not stored in said first database, butwhich has an identification number stored in said update file,determining that the subject data unit was deleted at a time subsequentto completion of a most recent synchronization communication.
 21. A dataupdating method as claimed in claim 19, wherein the step of updatingapplication data, performed by one of either said information processingdevice or said handheld information processing device, in its owndatabase on the basis of information transmitted from the other of saidinformation processing device or said handheld information processingdevice further comprises: in the case that edit add information istransmitted, adding said transmitted data unit and its identificationnumber in its said own database; in the case that edit changeinformation is transmitted, overwriting the transmitted data unit onto adata unit in its said own database identified by the transmittedidentification number of the data unit; and in the case that edit deleteinformation is transmitted, deleting a data unit that is stored in itssaid own database and is identified by the transmitted identificationnumber.
 22. A data updating method as claimed in claim 19, wherein: saidinformation processing device transmits its stored updated update fileto said handheld information processing device; and said handheldinformation processing device stores in its memory the transmittedupdated said update file.
 23. A data updating method as claimed in claim19, further comprising: upon initiation of a synchronizationcommunication between said information processing device and saidhandheld information processing device, comparing user informationprestored in said update file contained in each of the devices; and inthe case where the user information stored in one device is determinedto be the same as the user information stored in the other device,updating each of the databases so as to synchronize the memory of thedatabase of said one device and the memory of the database of said otherdevice.
 24. An information processing device comprising: a firstdatabase storing application data consisting of one or a plurality ofdata units generated by a given application; a memory storing an updatefile including communication time information indicating a date and timeof a synchronization communication initiated by the informationprocessing device, by which a second information processing device isnotified of data updated in said first database to be updated in asecond database of said second information processing device forsynchronization with said updated data in said first database, saidupdate file also including identification numbers assigned to each ofdata units which comprise application data in said first database; meansfor, if required, adding a new data unit, changing or deleting a dataunit of said application data; and storing means, at the time of addinga new data unit to the application data in said first database orchanging contents of a data unit in said first database, for storingedit time data indicating a date and time of an addition or change of adata unit, the edit time corresponding to an identification number of anadded or changed data unit, the device further comprising: as means forperforming a synchronization communication with said second informationprocessing device for notifying data updated in said first database tobe updated in said second database for synchronization with said updateddata in said first database, detecting means for comparing saididentification numbers of said data units and said communication time ofthe synchronization communication, said identification numbers andcommunication time being stored in said update file, with theidentification numbers of data units and edit time data of each of saiddata units stored in said first database, to thereby detect among saidplurality of data units which comprise said application data stored insaid first database, any data units that have been added, changed, ordeleted at a time subsequent to completion of a most recentsynchronization communication; transmitting and storing means, in a casewhere a newly added or changed data unit is detected, for transmittingto said second information processing device the data unit with itsidentification number, and either edit add or edit change informationfor the data unit and storing the identification number in said updatefile; and transmitting and deleting means, in a case where deletion of adata unit is detected, for transmitting to said second informationprocessing device the identification number of the deleted data unitwith edit delete information for a data unit corresponding to theidentification number, and deleting the identification number from saidupdate file.
 25. An information processing device as claimed in claim24, as means as to when a data unit created at said second database at atime subsequent to completion of a most recent synchronizationcommunication is transmitted to said first information processing deviceto be written into said first database, the device further comprising:means for assigning a new identification number to the data unit to bewritten in and transmitting said assigned new identification number tosaid second information processing device; and means for instructingsaid second information processing device to store said assigned newidentification number in said second database in relation to the dataunit created at the time subsequent to completion of the most recentsynchronization communication.
 26. An information processing device asclaimed in claim 24, further comprising means for transmitting updatedsaid update file to said second information processing device andinstructing said second information processing device to store thetransmitted updated said update file in itself.
 27. An informationprocessing device as claimed in claim 24, further comprising means, inthe case where said update file is stored in said second informationprocessing device, for implementing a synchronization communication byreferring to said update file stored in said second informationprocessing device.
 28. An information processing device as claimed inclaim 24, wherein the information processing device is capable ofstoring application data edited by said given application of a pluralityof kinds in said first database, the device further comprising interfacemeans which converts a plurality of data sets in different data formatsfor each of said plurality of kinds of applications, each set of databeing edited by a corresponding application, into one data format thatcan be treated in said synchronization communication.
 29. An informationprocessing device, comprising: a first database storing application dataconsisting of one or a plurality of data units generated by a givenapplication; and recording means, when application data stored in saidfirst database is edited to add a new data unit, change or delete one ofsaid one or plurality of data units, for recording edit information asto which editing operation has been performed, which edit informationcorresponds to an identification number of edited data unit in saidfirst database, the device further comprising: as means for performing asynchronization communication with a second information processingdevice for notifying data updated in said first database to be updatedin a second database of said second information processing device forsynchronization with said updated data in said first database,transmitting means, in a case where said edit information indicates thata new data unit has been added, for transmitting to said secondinformation processing device the additional data unit and theidentification number of the additional data unit, with edit addinformation for the data unit; transmitting means, in a case where saidedit information indicates that one of said one or plurality of dataunits has been changed, for transmitting the changed data unit and theidentification number of the changed data unit, with edit changeinformation for the changed data unit, to said second informationprocessing device; and transmitting means, in a case where said editinformation indicates that one of said one or plurality of data unitshas been deleted, for transmitting the identification number of thedeleted data unit, with edit delete information for the data unit tosaid second information processing device.
 30. A computer programproduct for causing a first information processing device to execute: aprocess of storing application data consisting of one or a plurality ofdata units generated by a given application in a first database of thefirst information processing device; a process of storing in a memory anupdate file including communication time information indicating a dateand time of a synchronization communication initiated by said firstinformation processing device, by which a second information processingdevice is notified of data updated in said first database to be updatedin a second database of said second information processing device forsynchronization with said updated data in said first database, saidupdate file also including identification numbers assigned to each ofdata units which comprise application data in said first database; aprocess of, if required, adding a new data unit, changing or deleting adata unit of said application data; and a process of storing, at thetime of adding a new data unit to the application data in said firstdatabase or changing contents of a data unit in said first database,edit time data indicating a date and time of an addition or change of adata unit, the edit time corresponding to an identification number of anadded or changed data unit, the computer program product for causing thefirst information processing device to further execute: as process of asynchronization communication with said second information processingdevice for notifying data updated in said first database to be updatedin said second database for synchronization with said updated data insaid first database, a process of comparing said identification numbersof said data units and said communication time of the synchronizationcommunication, said identification numbers and communication time beingstored in said update file, with the identification numbers of dataunits and edit time data of each of said data units stored in said firstdatabase, to thereby detect among said plurality of data units whichcomprise said application data stored in said first database, any dataunits that have been added, changed, or deleted at a time subsequent tocompletion of a most recent synchronization communication; a process, ina case where a newly added or changed data unit is detected, oftransmitting to said second information processing device the data unitwith its identification number, and edit add or edit change informationfor the data unit, and storing the identification number in said updatefile; and a process, in a case where deletion of a data unit isdetected, of transmitting to said second information processing devicethe identification number of the deleted data unit with edit deleteinformation for a data unit corresponding to the identification number,and deleting the identification number from said update file.
 31. Acomputer readable program recording medium which stores a program forcausing a first information processing device to execute: a process ofstoring application data consisting of one or a plurality of data unitsgenerated by a given application in a first database of a firstinformation processing device; a process of storing in a memory anupdate file including communication time information indicating a dateand time of a synchronization communication initiated by said firstinformation processing device, by which a second information processingdevice is notified of data updated in said first database to be updatedin a second database of said second information processing device forsynchronization with said updated data in said first database, saidupdate file also including identification numbers assigned to each ofdata units which comprise application data in said first database; aprocess of, if required, adding a new data unit, changing or deleting adata unit of said application data; and a process of storing, at thetime of adding a new data unit to the application data in said firstdatabase or changing contents of a data unit in said first database,edit time data indicating a date and time of an addition or change of adata unit, the edit time corresponding to an identification number of anadded or changed data unit, wherein the program for causing the firstinformation processing device further executes: as process of asynchronization communication with said second information processingdevice for notifying data updated in said first database to be updatedin said second database for synchronization with said updated data insaid first database, a process of comparing said identification numbersof said data units and said communication time of the synchronizationcommunication, said identification numbers and communication time beingstored in said update file, with the identification numbers of dataunits and edit time data of each of said data units stored in said firstdatabase, to thereby detect among said plurality of data units whichcomprise said application data stored in said first database, any dataunits that have been added, changed, or deleted at a time subsequent tocompletion of a most recent synchronization communication; a process, ina case where a newly added or changed data unit is detected, oftransmitting to said second information processing device the data unitwith its identification number, and edit add or edit change informationfor the data unit, and storing the identification number in said updatefile; and a process, in a case where deletion of a data unit isdetected, of transmitting to said second information processing devicethe identification number of the deleted data unit with edit deleteinformation for a data unit corresponding to the identification number,and deleting the identification number from said update file.